update
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
#❗
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#❗
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#❗
|
||||||
@@ -1,140 +0,0 @@
|
|||||||
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 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
[[Linux Musikprogramme]]
|
|
||||||
[[Softlinks 1]]
|
|
||||||
[[Synchronisation & Backup 1]]
|
|
||||||
|
|
||||||
# Konsolen Know-How
|
|
||||||
[[Linux Konsole Zeichen löschen]]
|
|
||||||
[[Paketinstallation aus tar.gz]]
|
|
||||||
[[Disable KVM for VirtualBox]]
|
|
||||||
[[Linux Terminal Shortcut]]
|
|
||||||
[[Drives & Mounts 1]]
|
|
||||||
[[Computerkram/find]]
|
|
||||||
[[Link-Verknüpfung in Linux]]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
#❗
|
||||||
Reference in New Issue
Block a user