Dotfiles mit GitHub synchronisieren und installieren [2025 Easy Guide]

Melden

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 .gitignore hinzu.
  • 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

  1. alias config erstellen.
  2. config add [datei] zum Hinzufügen.
  3. config push zum Sichern.
  4. git clone auf dem neuen Rechner.

Viel Erfolg beim Einrichten deines perfekten Terminals!

0