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:11:40 +01:00
parent d6d96c3274
commit 9c7a06d595
No known key found for this signature in database
GPG Key ID: 7FAB2A15F7A607A4

View File

@ -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 ];