2025-12-07 11:37:04 +01:00
# dotfiles-rene
2026-03-14 09:16:46 +01:00
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
```
2026-03-15 09:30:54 +01:00
### 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.
2026-03-14 09:16:46 +01:00
## 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"
2026-03-15 09:30:54 +01:00
alias cb="pbpaste | sed 's/^ //' | pbcopy" # macOS
alias cb="xclip -selection clipboard -o | sed 's/^ //' | xclip -selection clipboard -i" # Linux
2026-03-14 09:16:46 +01:00
alias gitsync="~/git-sync-all.sh"
2026-03-14 09:28:21 +01:00
alias mac-sync="curl -fsSL https://git.motocamp.de/rene/dotfiles-rene/raw/branch/main/bin/git-sync-all.sh | bash"
2026-03-14 09:16:46 +01:00
```
## Neuen Mac einrichten (Kurzfassung)
1. Auf einem bestehenden Mac: `gitsync` ausfuehren (pusht alles)
2026-03-14 09:28:21 +01:00
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)