initial dotfiles setup
Profile-based dotfiles with switchable color themes. Structure: profiles/ with themes/ and config/ per profile.
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
# 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 mit einem Kumpel)
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 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/
|
||||
│ ├── switch-theme Wechselt Farben/Wallpaper im aktiven Profil
|
||||
│ ├── switch-profile Wechselt das komplette Profil (alle Configs)
|
||||
│ └── update-profiles git pull für alle Profile + ggf. 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)
|
||||
Reference in New Issue
Block a user