Files
it-know-how/Computerkram/Linux/Hyprland/Stow mit Logik.md
T
2026-03-27 12:41:00 +01:00

141 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Kurz gesagt: **Nein GNU Stow führt keine Skripte aus.**
Und das ist auch Absicht 🙂
GNU Stow macht **nur eine Sache**:
> Es erzeugt und entfernt Symlinks.
Keine Hooks.
Keine Post-Deploy-Skripte.
Keine Automatik.
---
# 🧠 Warum ist das so?
Stow ist bewusst:
* minimalistisch
* deterministisch
* side-effect-frei
Dadurch bleibt dein Setup transparent und reproduzierbar.
---
# ✅ Aber: Man kann es kombinieren
Wenn du beim „Deploy“ zusätzlich Dinge tun willst (z. B. Monitor-Symlink setzen, Pakete installieren, Cache leeren, etc.), gibt es saubere Lösungen:
---
# 🔹 Lösung 1: Bootstrap-Script (empfohlen)
Du schreibst dir ein Script wie:
```bash
#!/bin/bash
set -e
cd ~/dotfiles
echo "→ Stowing configs"
stow hypr
stow waybar
stow zsh
echo "→ Setting monitor config"
ln -sf desktop.conf hypr/.config/hypr/monitors/current.conf
echo "→ Reloading Hyprland"
hyprctl reload
```
Dann einfach:
```bash
./install.sh
```
💡 Das ist die professionellste Lösung.
---
# 🔹 Lösung 2: Hostname-basierte Logik im Script
```bash
HOST=$(hostname)
if [[ "$HOST" == "desktop" ]]; then
ln -sf desktop.conf hypr/.config/hypr/monitors/current.conf
elif [[ "$HOST" == "laptop" ]]; then
ln -sf laptop.conf hypr/.config/hypr/monitors/current.conf
fi
```
Dann musst du nichts manuell wählen.
---
# 🔹 Lösung 3: Makefile (sehr elegant)
Beispiel:
```make
install:
stow hypr
stow waybar
./scripts/select-monitor.sh
```
Dann:
```bash
make install
```
Sehr beliebt in Dotfile-Repos.
---
# 🔹 Lösung 4: „echte“ Dotfile-Manager
Wenn du wirklich Logik + Templates willst:
* chezmoi
* yadm
Diese können:
* Hostname erkennen
* Variablen verwenden
* Templates generieren
* Skripte ausführen
Aber sie sind komplexer als Stow.
---
# 🎯 Empfehlung für dich (Hyprland + mehrere Systeme)
Da du:
* Monitor-Configs pro System brauchst
* wahrscheinlich Arch nutzt
* modular arbeiten willst
👉 **Stow + Bootstrap-Script** ist die perfekte Balance.
---
# 💬 Kurzantwort auf deine Frage
| Frage | Antwort |
| ------------------------ | ----------------- |
| Führt Stow Skripte aus? | ❌ Nein |
| Kann man es kombinieren? | ✅ Ja |
| Beste Praxis? | Stow + install.sh |
---