99 lines
3.1 KiB
Markdown
99 lines
3.1 KiB
Markdown
# dotfiles-rene
|
|
|
|
Dotfiles und Skripte fuer macOS und Linux (Ubuntu auf MacBook Pro).
|
|
|
|
Wird automatisch von [macbook-setup](https://git.motocamp.de/rene/macbook-setup) deployed.
|
|
|
|
## Inhalt
|
|
|
|
```
|
|
bin/ Git-Werkzeuge (werden nach ~/ verlinkt)
|
|
micro/ Micro-Editor Konfiguration
|
|
nvim/ Neovim Konfiguration
|
|
oh-my-zsh/custom/ Powerlevel10k, zsh-syntax-highlighting
|
|
heic-scripts/ HEIC-zu-JPEG Konverter (h2j)
|
|
pi/ Raspberry Pi spezifische Configs
|
|
```
|
|
|
|
## Git-Werkzeuge (~/bin)
|
|
|
|
Alle Skripte in `bin/` werden von `setup-desktop.sh` automatisch nach `~/` verlinkt.
|
|
|
|
### gitsync - Repositories synchronisieren
|
|
|
|
Synchronisiert alle Git-Repositories in `~/git-projekte` mit dem Gitea-Server:
|
|
|
|
- Fehlende Repos werden geklont
|
|
- Repos mit Remote-Aenderungen werden gepullt (fast-forward)
|
|
- Repos mit lokalen Commits werden gepusht
|
|
- Repos mit uncommitteten Aenderungen werden markiert
|
|
|
|
```bash
|
|
gitsync # alles synchronisieren
|
|
gitsync --dry-run # nur anzeigen, nichts aendern
|
|
gitsync --path /foo # anderes Basisverzeichnis
|
|
```
|
|
|
|
Die Repo-Liste ist im Skript hinterlegt. Bei neuen Repos dort einen Eintrag ergaenzen.
|
|
|
|
### gitcheck - Repository-Status pruefen
|
|
|
|
Zeigt den Status aller Repositories (lokale Aenderungen, ungepushte/ungepullte Commits).
|
|
|
|
```bash
|
|
gitcheck # nur Repos mit Aenderungen
|
|
gitcheck --all # alle Repos anzeigen
|
|
gitcheck --short # kompakte Ausgabe (Standard-Alias)
|
|
```
|
|
|
|
### gitupdate - Repositories aktualisieren
|
|
|
|
Pullt alle Repositories (ueberspringt Repos mit lokalen Aenderungen).
|
|
|
|
```bash
|
|
gitupdate # alle Repos pullen
|
|
```
|
|
|
|
### cb - Clipboard bereinigen
|
|
|
|
Entfernt die 2 fuehrenden Leerzeichen pro Zeile aus der Zwischenablage, die Claude Code bei der Terminal-Ausgabe einfuegt. Nuetzlich beim Kopieren mehrzeiliger Befehle oder Codeblocks.
|
|
|
|
```bash
|
|
cb # Zwischenablage bereinigen, dann mit Cmd+V einfuegen
|
|
```
|
|
|
|
Verwendet `pbpaste`/`pbcopy` auf macOS und `xclip` auf Linux.
|
|
|
|
## Installation
|
|
|
|
### Automatisch (via macbook-setup)
|
|
|
|
`setup-desktop.sh` klont dieses Repo und verlinkt alles automatisch.
|
|
|
|
### Manuell (bestehender Mac)
|
|
|
|
```bash
|
|
git clone https://git.motocamp.de/rene/dotfiles-rene.git ~/git-projekte/dotfiles-rene
|
|
|
|
# Skripte verlinken
|
|
for script in ~/git-projekte/dotfiles-rene/bin/*; do
|
|
chmod +x "$script" && ln -sf "$script" ~/
|
|
done
|
|
|
|
# Aliases in ~/.zshrc
|
|
alias gitcheck="~/git-check-all.sh --short"
|
|
alias gitupdate="~/git-update-all.sh"
|
|
alias cb="pbpaste | sed 's/^ //' | pbcopy" # macOS
|
|
alias cb="xclip -selection clipboard -o | sed 's/^ //' | xclip -selection clipboard -i" # Linux
|
|
alias gitsync="~/git-sync-all.sh"
|
|
alias mac-sync="curl -fsSL https://git.motocamp.de/rene/dotfiles-rene/raw/branch/main/bin/git-sync-all.sh | bash"
|
|
```
|
|
|
|
## Neuen Mac einrichten (Kurzfassung)
|
|
|
|
1. Auf einem bestehenden Mac: `gitsync` ausfuehren (pusht alles)
|
|
2. Auf dem neuen Mac (noch ohne .zshrc) einmalig:
|
|
```bash
|
|
curl -fsSL https://git.motocamp.de/rene/dotfiles-rene/raw/branch/main/bin/git-sync-all.sh | bash
|
|
```
|
|
3. Danach reicht: `gitsync` (lokal) oder `mac-sync` (frisch vom Server)
|