Files

154 lines
4.6 KiB
Markdown

# dotfiles — tekki
Hyprland-Setup mit wechselbaren Profilen und Farbthemen.
**Farben:** Grün + Pink auf schwarz
**Programme:** Hyprland · Waybar · Kitty · Wofi · Dunst
**Themes:** tekki (grün/pink) · blue · red
---
## Erstes Setup auf einem neuen PC
```bash
# 1. Repo klonen
git clone https://<deine-gitea-domain>/tekki/dotfiles ~/profiles/tekki
# 2. Installieren (Symlinks setzen + Theme laden)
bash ~/profiles/tekki/install.sh
# 3. Pakete installieren
sudo pacman -S $(grep -v '^#' ~/profiles/tekki/packages.txt | grep -v '^\s*$' | tr '\n' ' ')
# AUR-Pakete (mit yay oder paru):
yay -S awww ttf-meslo-nerd-font otf-font-awesome hyprpolkitagent
# 4. ~/.local/bin in PATH eintragen (falls noch nicht vorhanden)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# 5. Neu einloggen oder Hyprland starten
```
---
## Theme wechseln
```bash
# Nächstes Theme (auch per F3-Taste in Hyprland)
next-theme
# Bestimmtes Theme direkt
switch-theme blue
switch-theme red
switch-theme tekki
```
---
## Profil wechseln (geteilter PC)
```bash
# Kumpels Profil einmalig einrichten
git clone https://<gitea-domain>/kumpel/dotfiles ~/profiles/kumpel
bash ~/profiles/kumpel/install.sh
# Zwischen Profilen wechseln (~0.5s, keine neue Session, keine Fenster zu)
switch-profile tekki
switch-profile kumpel
```
Was beim Profilwechsel passiert: alle Config-Symlinks werden getauscht (Hyprland, Waybar, Shortcuts, alles), dann `hyprctl reload`.
---
## Updates holen
```bash
update-profiles
```
Macht `git pull` für jedes Profil unter `~/profiles/`. Wenn das aktive Profil Änderungen hat, werden Symlinks und Hyprland automatisch neu geladen.
---
## Neues Theme erstellen
```bash
cp -r ~/profiles/tekki/themes/tekki ~/profiles/tekki/themes/meinTheme
# colors.json anpassen:
# - special.background: Hintergrundfarbe (Hex)
# - special.foreground: Hauptfarbe / Akzent 1
# - colors.color1: Akzent 2 (z.B. für Borders)
# - colors.color2: Akzent 1 (Foreground)
# - colors.color8: Gedämpfte Farbe (inaktive Elemente)
# - wallpaper: Pfad zum Wallpaper (~ wird expandiert)
switch-theme meinTheme
```
---
## Eigenes Profil erstellen (für andere Personen)
Das einfachste ist, dieses Repo als Ausgangspunkt zu forken:
1. Dieses Repo auf Gitea forken → eigenes Repo anlegen (z.B. `kumpel/dotfiles`)
2. Klonen:
```bash
git clone https://<gitea-domain>/kumpel/dotfiles ~/profiles/kumpel
```
3. Eigene Configs anpassen — alles in `config/` entspricht 1:1 einem `~/.config/`-Unterordner:
- `config/hypr/hyprland.conf` — eigene Keybindings, Monitor-Setup, etc.
- `config/waybar/config.jsonc` — eigene Leistenseinteilung
- `config/wal/reload.sh` — falls ein anderer Wallpaper-Daemon genutzt wird (z.B. `swww` statt `awww`)
4. Eigene Themes anlegen (oder die vorhandenen anpassen)
5. `packages.txt` auf die eigenen Programme anpassen
6. Installieren:
```bash
bash ~/profiles/kumpel/install.sh
```
**Hinweis zu den Scripts:** `install.sh` kopiert `switch-profile`, `switch-theme` und `update-profiles` nach `~/.local/bin/`. Diese Scripts sind global — sie gelten für alle Profile auf dem PC, egal welches Profil gerade aktiv ist. Jedes Profil liefert sie mit, damit sie auch auf einem frischen PC ohne zweites Profil verfügbar sind.
---
## Struktur
```
dotfiles/
├── config/
│ ├── hypr/ Hyprland (shortcuts, monitor, blur, gaps, ...)
│ ├── waybar/ Statusleiste (oben + unten)
│ ├── dunst/ Benachrichtigungen
│ ├── kitty/ Terminal
│ ├── wofi/ App-Launcher
│ ├── gtk-3.0/ GTK-Theme (Adwaita-dark)
│ ├── gtk-4.0/ GTK4-Theme
│ └── wal/ Theme-Scripts (generate.py, reload.sh, ...)
├── themes/
│ ├── tekki/ colors.json (grün + pink)
│ ├── blue/ colors.json (blau)
│ └── red/ colors.json + wallpapers/red.jpg
├── scripts/ Globale Scripts → werden von install.sh nach ~/.local/bin/ kopiert
│ ├── switch-theme Wechselt Farben/Wallpaper im aktiven Profil
│ ├── switch-profile Wechselt das komplette Profil (alle Configs + hyprctl reload)
│ └── update-profiles git pull für alle Profile + ggf. automatischer Reload
├── packages.txt Benötigte Pakete
├── install.sh Einmalig ausführen um alles einzurichten
└── README.md Diese Datei
```
---
## Wiederherstellung
Falls etwas schiefläuft:
```bash
cp -r ~/config-backup/* ~/.config/
```
(Backup wird von `install.sh` automatisch angelegt bei `.bak`-Umbenennung)