3.4 KiB
🐧 Jakob's Dotfiles
Dieses Repository verwaltet meine System-Konfigurationen unter CachyOS (Arch Linux) mit Hyprland und der Fish-Shell.
🛠 Setup-Struktur
Ich verwende ein Bare Repository, um mein Home-Verzeichnis sauber zu halten. Die Git-Datenbank liegt in ~/.dotfiles, aber die Dateien bleiben an ihrem Platz.
1. Initialisierung (auf einem neuen System)
git init --bare $HOME/.dotfiles
alias config='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no
🔐 Authentifizierung (Browser-Login / FIDO)
Um den "Windows-Style" Login über den Browser (Gitea + WebAuthn/FIDO) zu ermöglichen, wird der Git Credential Manager (GCM) in Kombination mit GPG und pass genutzt.
Installation der Tools
# GCM über AUR (paru)
paru -S git-credential-manager-bin
# Pass und GPG über pacman
sudo pacman -S pass gnupg
Konfiguration des Passwort-Speichers
- GPG-Key erstellen:
gpg --generate-key - ID kopieren (z.B.
90D469EF...) - Pass initialisieren:
pass init <DEINE_GPG_ID> - Git-Helper setzen:
config config --local credential.helper manager config config --local credential.credentialStore gpg
<EFBFBD> VS Code & Electron Keyring (Hyprland)
Da unter Hyprland kein Standard-Keyring läuft, VS Code diesen aber zwingend benötigt (z. B. für GitHub Copilot, Settings-Sync oder Git), nutzen wir eine Brücke. Diese stellt die D-Bus Secret Service API bereit und speichert die Geheimnisse direkt in unserer bestehenden pass-Datenbank.
1. Installation der Brücke
# Installiert den pass-secret-service über das AUR
paru -S pass-secret-service-bin
2. Dienst aktivieren
Damit die Brücke im Hintergrund läuft, aktivieren wir den zugehörigen Systemd-User-Service:
systemctl --user enable --now pass-secret-service
3. VS Code konfigurieren
VS Code muss angewiesen werden, die D-Bus Schnittstelle zu nutzen. In VS Code die Command Palette öffnen (Strg + Shift + P), nach Preferences: Configure Runtime Arguments suchen und den folgenden Eintrag in der argv.json setzen:
"password-store": "gnome-libsecret"
(Hinweis: gnome-libsecret ist hier lediglich das Electron-Schlagwort für die D-Bus-Schnittstelle, die wir mit pass gekapert haben).
4. GPG-Agent Cache konfigurieren (Empfohlen)
Damit VS Code nicht bei jedem Sync-Vorgang im Hintergrund ein Passwort-Popup triggert, sollte der GPG-Cache erhöht werden. Dazu die Datei ~/.gnupg/gpg-agent.conf anpassen:
default-cache-ttl 3600
max-cache-ttl 28800
Anschließend den Agenten neu laden:
gpg-connect-agent reloadagent /bye
<EFBFBD>📂 Wichtige Dateien im Repo
- Hyprland:
~/.config/hypr/hyprland.conf(Keybinds & Window-Rules) - Hyprpaper:
~/.config/hypr/hyprpaper.conf(Neue Block-Syntax!) - Waybar/Wofi: Styles und Configs für Topbar und Launcher.
- Fish:
~/.config/fish/config.fish(InklusiveconfigAlias und deaktiviertem Fastfetch). - Kitty:
~/.config/kitty/kitty.conf(Transparenz & Blur).
⌨️ Täglicher Workflow
Zum Hinzufügen oder Ändern von Dateien wird der config-Alias genutzt:
config status
config add <pfad_zur_datei>
config commit -m "Nachricht"
config push
Hinweis: Beim Push öffnet sich automatisch der Browser für den Gitea-Login.