fix: use niri include instead of copying system config to user dir
All checks were successful
Update PKGBUILD version / update-pkgver (push) Successful in 2s
All checks were successful
Update PKGBUILD version / update-pkgver (push) Successful in 2s
transform.sh was hard-copying /etc/xdg/niri/config.kdl to ~/.config/niri/, causing the user config to go stale after system updates. Now seeds a minimal user config with `include "/etc/xdg/niri/config.kdl"` so system defaults always stay current and users can add overrides below the include.
This commit is contained in:
parent
a360d12bde
commit
9bc753e092
@ -205,7 +205,7 @@ All system configs live in `/etc/xdg/` and can be overridden per-user in `~/.con
|
||||
|
||||
| Component | System Default | User Override |
|
||||
|-----------|---------------|---------------|
|
||||
| Niri | `/etc/xdg/niri/config.kdl` | `~/.config/niri/config.kdl` |
|
||||
| Niri | `/etc/xdg/niri/config.kdl` | `~/.config/niri/config.kdl` (includes system config) |
|
||||
| Waybar | `/etc/xdg/waybar/` | `~/.config/waybar/` |
|
||||
| Walker | `/etc/xdg/walker/` | `~/.config/walker/` |
|
||||
| Foot | `/etc/xdg/foot/foot.ini` | `~/.config/foot/foot.ini` |
|
||||
|
||||
@ -303,12 +303,29 @@ for src_dir in /etc/xdg/*/; do
|
||||
[[ "$app_name" == "gtk-4.0" ]] && continue
|
||||
# kanshi profiles are user-specific (display setup) — only seed, never overwrite
|
||||
[[ "$app_name" == "kanshi" ]] && [[ -d "$HOME/.config/kanshi" ]] && continue
|
||||
# niri user config includes system config — never overwrite (handled below)
|
||||
[[ "$app_name" == "niri" ]] && continue
|
||||
dest_dir="$HOME/.config/$app_name"
|
||||
rm -rf "$dest_dir" 2>/dev/null || sudo rm -rf "$dest_dir"
|
||||
cp -r --no-preserve=ownership "$src_dir" "$dest_dir"
|
||||
log " + $app_name/"
|
||||
done
|
||||
|
||||
# Niri: seed user config with include of system config (preserves user overrides)
|
||||
niri_user_config="$HOME/.config/niri/config.kdl"
|
||||
if [[ ! -f "$niri_user_config" ]]; then
|
||||
mkdir -p "$HOME/.config/niri"
|
||||
cat > "$niri_user_config" << 'NIRI_EOF'
|
||||
// ABOUTME: Moonarch user niri config — includes system defaults.
|
||||
// ABOUTME: Add personal overrides below the include statement.
|
||||
|
||||
include "/etc/xdg/niri/config.kdl"
|
||||
NIRI_EOF
|
||||
log " + niri/ (seeded with include)"
|
||||
else
|
||||
log " ~ niri/ (user config exists, skipped)"
|
||||
fi
|
||||
|
||||
# Overwrite configs owned by other packages with moonarch versions
|
||||
log "Deploying moonarch config overrides..."
|
||||
cp /usr/share/moonarch/walker-config.toml "$HOME/.config/walker/config.toml"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user