60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
# 🐧 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 <DEINE_GPG_ID>`
|
|
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 <pfad_zur_datei>
|
|
config commit -m "Nachricht"
|
|
config push
|
|
```
|
|
|
|
*Hinweis: Beim Push öffnet sich automatisch der Browser für den Gitea-Login.* |