gnome3.gsettings_desktop_schemas: do not depend on gnome-backgrounds

We intend to make all GTK apps depend on the desktop schemas. Since
the schemas depend on gnome-backgrounds to determine the default
wallpaper path, it would increase the closure size significantly
for smaller apps.

We could split out the org.gnome.desktop.background and screensaver
schemas but that would make the packaging unnecessarily complicated.
Instead we remove the backgrounds dependency since they are not used
(outside of GNOME) or they will be replaced by a different set by
the NixOS module. There will be no background when running GNOME
manually but that can be easily fixed.
This commit is contained in:
Jan Tojnar
2017-11-23 22:35:29 +01:00
parent d6d96c3274
commit 9c7a06d595
@@ -5,11 +5,15 @@
stdenv.mkDerivation rec {
inherit (import ./src.nix fetchurl) name src;
postPatch = ''
for file in "background" "screensaver"; do
substituteInPlace "schemas/org.gnome.desktop.$file.gschema.xml.in" \
--replace "@datadir@" "${gnome3.gnome-backgrounds}/share/"
done
preInstall = ''
mkdir -p $out/share/gsettings-schemas/${name}/glib-2.0/schemas
cat - > $out/share/gsettings-schemas/${name}/glib-2.0/schemas/remove-backgrounds.gschema.override <<- EOF
[org.gnome.desktop.background]
picture-uri='''
[org.gnome.desktop.screensaver]
picture-uri='''
EOF
'';
buildInputs = [ glib gobjectIntrospection ];