nixpkgs/pkgs/development/libraries/glib/schema-override-variable.patch
Jan Tojnar 1f79b943c0
glib: recognize NIX_GSETTINGS_OVERRIDES_DIR variable
For some reason, the GNOME 3.26 update broke the overrides. It turns
out the overrides now need to come before the overriden schemas in the
XDG_DATA_DIRS variable. This is not possible in general due to applications
prefixing the variable (e.g. in wrapGAppsHook).

To fix this, a new environment variable NIX_GSETTINGS_OVERRIDES_DIR
was introduced. It has greater priority than XDG_DATA_DIRS but lower
than GSETTINGS_SCHEMA_DIR. A separate variable was chosen in order not
to block the built-in one for users.
2017-11-15 03:45:24 +01:00

13 lines
337 B
Diff

--- a/gio/gsettingsschema.c
+++ b/gio/gsettingsschema.c
@@ -352,6 +352,9 @@
try_prepend_data_dir (g_get_user_data_dir ());
+ if ((path = g_getenv ("NIX_GSETTINGS_OVERRIDES_DIR")) != NULL)
+ try_prepend_dir (path);
+
if ((path = g_getenv ("GSETTINGS_SCHEMA_DIR")) != NULL)
try_prepend_dir (path);