Dotfiles mit GitHub synchronisieren und installieren [2025 Easy Guide]
Hier ist ein aktueller und leicht verständlicher Guide für 2025, wie du deine Dotfiles (Konfigurationsdateien wie .zshrc, .vimrc, .gitconfig etc.) sicher auf GitHub speicherst und auf neuen Systemen installierst.
Deine Dotfiles sind das "Gehirn" deiner Entwicklungsumgebung. Ohne ein Backup fängst du bei jedem neuen Laptop bei Null an. In diesem Guide nutzen wir die Bare-Repository-Methode, da sie ohne zusätzliche Tools (wie Symlinks) auskommt und als sauberste Lösung für 2025 gilt.
1. Voraussetzungen
- Ein GitHub-Konto.
- Ein Terminal (macOS, Linux oder WSL unter Windows).
- Installiertes Git.
Teil A: Dotfiles auf GitHub sichern (Ersteinrichtung)
Schritt 1: Ein leeres Repository auf GitHub erstellen
Gehe auf GitHub und erstelle ein neues Repository namens dotfiles.
- Wichtig: Setze es auf Private, falls du versehentlich sensible Daten speicherst.
- Initialisiere es nicht mit einer README oder Lizenz.
Schritt 2: Das Bare-Repository lokal einrichten
Öffne dein Terminal in deinem Home-Verzeichnis (~) und gib Folgendes ein:
# Erstelle einen versteckten Ordner für die Git-Struktur
git init --bare $HOME/.cfg
# Erstelle einen Alias, damit wir git Befehle nur für Dotfiles nutzen
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
# Verstecke Dateien, die wir nicht explizit tracken (vermeidet Chaos)
config config --local status.showUntrackedFiles no
# Den Alias permanent machen (in deine .zshrc oder .bashrc schreiben)
echo "alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'" >> ~/.zshrc
Schritt 3: Dateien hinzufügen und hochladen
Wähle nun aus, welche Konfigurationsdateien du sichern möchtest:
config add .zshrc
config add .vimrc
config add .config/nvim/init.lua # Ganze Ordner gehen auch
config commit -m "Initialer Dotfiles Upload"
# Mit GitHub verbinden (Ersetze USERNAME mit deinem Namen)
config remote add origin https://github.com/DEIN_USERNAME/dotfiles.git
config branch -M main
config push -u origin main
Teil B: Dotfiles auf einem neuen System installieren
Wenn du an einem neuen Rechner sitzt, kannst du dein Setup mit wenigen Befehlen wiederherstellen.
Schritt 1: Alias temporär definieren
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
Schritt 2: Repository klonen
Stelle sicher, dass der Zielordner noch nicht existiert.
# In die .gitignore Liste eintragen, um Rekursion zu vermeiden
echo ".cfg" >> .gitignore
# Klonen des Repositories
git clone --separate-git-dir=$HOME/.cfg https://github.com/DEIN_USERNAME/dotfiles.git tmp_dotfiles
# Dateien in das Home-Verzeichnis verschieben und Temp-Ordner löschen
rsync --recursive --verbose --exclude '.git' tmp_dotfiles/ $HOME/
rm -rf tmp_dotfiles
# Status prüfen
config config --local status.showUntrackedFiles no
Hinweis: Falls Dateien wie die .zshrc bereits existieren, wird Git eine Fehlermeldung ausgeben. Du musst die existierenden Dateien löschen oder verschieben, bevor du den rsync-Befehl bzw. den Checkout ausführst.
Teil C: Workflow im Alltag (Synchronisation)
Das Beste an dieser Methode ist die Einfachheit. Wenn du eine Änderung an einer Datei vornimmst, nutzt du einfach den config-Befehl:
Änderungen hochladen:
config add .zshrc
config commit -m "Update Shortcuts"
config push
Änderungen auf einem anderen Rechner empfangen:
config pull
Wichtige Tipps für 2025
1. Sicherheit geht vor (Secrets!)
Sichere niemals API-Keys, Passwörter oder SSH-Keys in deinen Dotfiles auf GitHub.
- Lösung: Nutze eine
.env-Datei für Geheimnisse und füge diese zur.gitignorehinzu. - Alternativ: Nutze Tools wie 1Password CLI oder Bitwarden, um Secrets direkt im Terminal abzurufen.
2. Automatisierung mit Brew (für macOS/Linux)
Erstelle eine Brewfile, in der alle deine installierten Apps stehen:
brew bundle dump # Erstellt eine Brewfile
config add Brewfile
Auf dem neuen System installierst du alles mit brew bundle install.
3. Warum kein GNU Stow mehr?
Obwohl GNU Stow (Symlink-Manager) immer noch gut funktioniert, ist die Bare-Git-Methode überlegen, da sie keine zusätzliche Software benötigt und direkt mit der Git-Logik arbeitet. Es gibt keine kaputten Symlinks, wenn du eine Datei löschst.
Zusammenfassung: Der "Easy Way" Check
alias configerstellen.config add [datei]zum Hinzufügen.config pushzum Sichern.git cloneauf dem neuen Rechner.
Viel Erfolg beim Einrichten deines perfekten Terminals!