diff --git a/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix index 370cd14e467..f7a39d92cfb 100644 --- a/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix +++ b/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix @@ -13,6 +13,13 @@ stdenv.mkDerivation rec { updateScript = gnome.updateScript { packageName = "gnome-backgrounds"; attrPath = "gnome.gnome-backgrounds"; }; }; + patches = [ + # Makes the database point to stable paths in /run/current-system/sw/share, which don't decay whenever this package's hash changes. + # This assumes a nixos + gnome system, where this package is installed in environment.systemPackages, + # and /share outputs are included in environment.pathsToLink. + ./stable-dir.patch + ]; + nativeBuildInputs = [ meson ninja pkg-config gettext ]; meta = with lib; { diff --git a/pkgs/desktops/gnome/core/gnome-backgrounds/stable-dir.patch b/pkgs/desktops/gnome/core/gnome-backgrounds/stable-dir.patch new file mode 100644 index 00000000000..cbc55e8a5c0 --- /dev/null +++ b/pkgs/desktops/gnome/core/gnome-backgrounds/stable-dir.patch @@ -0,0 +1,9 @@ +diff --git a/backgrounds/meson.build b/backgrounds/meson.build +index 2175a16..cf521df 100644 +--- a/backgrounds/meson.build ++++ b/backgrounds/meson.build +@@ -1,5 +1,5 @@ + dataconf = configuration_data() +-dataconf.set('BACKGROUNDDIR', backgrounddir) ++dataconf.set('BACKGROUNDDIR', '/run/current-system/sw/share/backgrounds/gnome') + dataconf.set('datadir', datadir)