dotfiles-rene/README.md

82 lines
2.3 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
```
## 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 gitsync="~/git-sync-all.sh"
```
## Neuen Mac einrichten (Kurzfassung)
1. Auf einem bestehenden Mac: `gitsync` ausfuehren (pusht alles)
2. Auf dem neuen Mac: `gitsync` ausfuehren (klont fehlende Repos, pullt Updates)