mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-09-21 20:49:52 +03:00
dconf-editor: Respect NIX_GSETTINGS_OVERRIDES_DIR variable
We patch GLib to recognize NIX_GSETTINGS_OVERRIDES_DIR environment variable as a high priority source of settings schemas. This is used by NixOS modules for desktop environments like GNOME to set default values for stuff like background image. Since dconf-editor uses custom GSettingsSchemaSource, it bypassed that patch, leading to the dconf-editor showing different values from what other apps using the GLib’s default source saw. Let’s mirror our GLib patch in dconf-editor to fix that.
This commit is contained in:
parent
710fed5a24
commit
289a54ef8d
@ -27,6 +27,12 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-Vxr0x9rU8Em1PmzXKLea3fCMJ92ra8V7OW0hGGbueeM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Look for compiled schemas in NIX_GSETTINGS_OVERRIDES_DIR
|
||||
# environment variable, to match what we patched GLib to do.
|
||||
./schema-override-variable.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
|
@ -0,0 +1,14 @@
|
||||
diff --git a/editor/source-manager.vala b/editor/source-manager.vala
|
||||
index 27b2b17a..87f7ba86 100644
|
||||
--- a/editor/source-manager.vala
|
||||
+++ b/editor/source-manager.vala
|
||||
@@ -121,6 +121,9 @@ private class SourceManager : Object
|
||||
source = try_prepend_dir (source, Path.build_filename (system_data_dirs [i], "glib-2.0", "schemas"));
|
||||
string user_data_dir = GLib.Environment.get_user_data_dir ();
|
||||
source = try_prepend_dir (source, Path.build_filename (user_data_dir, "glib-2.0", "schemas"));
|
||||
+ string? nix_var_schema_dir = GLib.Environment.get_variable ("NIX_GSETTINGS_OVERRIDES_DIR");
|
||||
+ if (nix_var_schema_dir != null)
|
||||
+ source = try_prepend_dir (source, (!) nix_var_schema_dir);
|
||||
string? var_schema_dir = GLib.Environment.get_variable ("GSETTINGS_SCHEMA_DIR");
|
||||
if (var_schema_dir != null)
|
||||
source = try_prepend_dir (source, (!) var_schema_dir);
|
Loading…
Reference in New Issue
Block a user