diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch')
-rw-r--r-- | nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch b/nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch new file mode 100644 index 000000000000..40638bf123d2 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch @@ -0,0 +1,31 @@ +diff --git a/gnome-panel/gp-module-manager.c b/gnome-panel/gp-module-manager.c +index 58447fd84..7af99de7d 100644 +--- a/gnome-panel/gp-module-manager.c ++++ b/gnome-panel/gp-module-manager.c +@@ -49,8 +49,16 @@ load_modules (GpModuleManager *self) + { + GDir *dir; + const gchar *name; ++ const gchar *modules_dir; + +- dir = g_dir_open (MODULESDIR, 0, NULL); ++ modules_dir = g_getenv ("NIX_GNOME_PANEL_MODULESDIR"); ++ ++ if (!modules_dir) { ++ g_warning ("The NIX_GNOME_PANEL_MODULESDIR environment variable was not set, modules will not be loaded."); ++ return; ++ } ++ ++ dir = g_dir_open (modules_dir, 0, NULL); + if (!dir) + return; + +@@ -63,7 +71,7 @@ load_modules (GpModuleManager *self) + if (!g_str_has_suffix (name, ".so")) + continue; + +- path = g_build_filename (MODULESDIR, name, NULL); ++ path = g_build_filename (modules_dir, name, NULL); + module = gp_module_new_from_path (path); + g_free (path); + |