about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/gnome/misc/gnome-panel/modulesdir-env-var.patch
blob: 40638bf123d2a54fd0f209cabcbfc8c4a834f1f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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);