diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index e5a79496c7a5..f833115b857f 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -152,7 +152,7 @@ in { export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${mimeAppsList}/share # Override gsettings-desktop-schema - export XDG_DATA_DIRS=${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS + export NIX_GSETTINGS_OVERRIDES_DIR=${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas # Let nautilus find extensions export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/ diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix index b82fd5f1e299..e270cd5ea7ba 100644 --- a/pkgs/development/libraries/glib/default.nix +++ b/pkgs/development/libraries/glib/default.nix @@ -55,7 +55,8 @@ stdenv.mkDerivation rec { }; patches = optional stdenv.isDarwin ./darwin-compilation.patch - ++ optional doCheck ./skip-timer-test.patch; + ++ optional doCheck ./skip-timer-test.patch + ++ [ ./schema-override-variable.patch ]; outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; diff --git a/pkgs/development/libraries/glib/schema-override-variable.patch b/pkgs/development/libraries/glib/schema-override-variable.patch new file mode 100644 index 000000000000..1cb5a730351b --- /dev/null +++ b/pkgs/development/libraries/glib/schema-override-variable.patch @@ -0,0 +1,12 @@ +--- 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); +