# 🐧 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) ```fish 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 ```fish # GCM über AUR (paru) paru -S git-credential-manager-bin # Pass und GPG über pacman sudo pacman -S pass gnupg ``` ### Konfiguration des Passwort-Speichers 1. **GPG-Key erstellen:** `gpg --generate-key` 2. **ID kopieren** (z.B. `90D469EF...`) 3. **Pass initialisieren:** `pass init ` 4. **Git-Helper setzen:** ```fish config config --local credential.helper manager config config --local credential.credentialStore gpg ``` --- ## 📂 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` (Inklusive `config` Alias 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: ```fish config status config add config commit -m "Nachricht" config push ``` *Hinweis: Beim Push öffnet sich automatisch der Browser für den Gitea-Login.*