diff --git a/modules/desktop.nix b/modules/desktop.nix index 78faada..e87259b 100644 --- a/modules/desktop.nix +++ b/modules/desktop.nix @@ -75,6 +75,8 @@ in "xdg/gtk-4.0/settings.ini".source = "${xdg}/gtk-4.0/settings.ini"; "xdg/pipewire/pipewire.conf.d/99-input-denoising.conf".source = "${xdg}/pipewire/pipewire.conf.d/99-input-denoising.conf"; + # Kept for layout parity with the Arch package; waypaper itself only reads + # the copy in the home directory, seeded below. "xdg/waypaper/config.ini".source = waypaperConfig; # stasis reads /etc/stasis/ as its system-wide fallback, never /etc/xdg/. @@ -239,4 +241,11 @@ in # Polkit agent for privilege prompts inside the session. security.polkit.enable = true; + + # Seed configs for programs that read only from the home directory and have + # no system-wide fallback. 'C' copies once and never overwrites, so user + # edits survive. This is what post-install.sh does imperatively on Arch. + systemd.user.tmpfiles.rules = [ + "C %h/.config/waypaper/config.ini 0644 - - - ${waypaperConfig}" + ]; }