summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuca Bruno <lucabru@src.gnome.org>2014-04-17 17:31:18 +0200
committerLuca Bruno <lucabru@src.gnome.org>2014-04-17 17:32:20 +0200
commit1942d9cadc339b3e2ee85486949f128e396bc874 (patch)
treee14d840d83659c6269d84ebb69eb61acfcaa8e7e
parentf2cb4def59802c35ccc65b330715ac8c0a7cd277 (diff)
downloadnixlib-1942d9cadc339b3e2ee85486949f128e396bc874.tar
nixlib-1942d9cadc339b3e2ee85486949f128e396bc874.tar.gz
nixlib-1942d9cadc339b3e2ee85486949f128e396bc874.tar.bz2
nixlib-1942d9cadc339b3e2ee85486949f128e396bc874.tar.lz
nixlib-1942d9cadc339b3e2ee85486949f128e396bc874.tar.xz
nixlib-1942d9cadc339b3e2ee85486949f128e396bc874.tar.zst
nixlib-1942d9cadc339b3e2ee85486949f128e396bc874.zip
gnome-control-center: find gnome-shell search providers
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix3
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-control-center/search_providers_dir.patch17
3 files changed, 22 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index b88c98bdf072..4620bc6722af 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -68,6 +68,9 @@ in {
           # Don't let epiphany depend upon gnome-shell
           export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${pkgs.gnome3.gnome_shell}/share/gsettings-schemas/${pkgs.gnome3.gnome_shell.name}
 
+          # Let gnome-control-center find gnome-shell search providers
+          export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/
+
           # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
           ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index ac8b362839c0..1222f03d66e3 100644
--- a/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -51,6 +51,8 @@ stdenv.mkDerivation rec {
     rm $out/share/icons/hicolor/icon-theme.cache
   '';
 
+  patches = [ ./search_providers_dir.patch ];
+
   meta = with stdenv.lib; {
     description = "Single sign-on framework for GNOME";
     maintainers = with maintainers; [ lethalman ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-control-center/search_providers_dir.patch b/pkgs/desktops/gnome-3/core/gnome-control-center/search_providers_dir.patch
new file mode 100644
index 000000000000..7f5ad970f34e
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-control-center/search_providers_dir.patch
@@ -0,0 +1,17 @@
+diff --git a/panels/search/cc-search-panel.c b/panels/search/cc-search-panel.c
+index d08e230..3bff4ad 100644
+--- a/panels/search/cc-search-panel.c
++++ b/panels/search/cc-search-panel.c
+@@ -574,7 +574,11 @@ populate_search_providers (CcSearchPanel *self)
+ {
+   GFile *providers_location;
+ 
+-  providers_location = g_file_new_for_path (DATADIR "/gnome-shell/search-providers");
++  const gchar* search_providers_dir = g_getenv ("GNOME_SEARCH_PROVIDERS_DIR");
++  if (search_providers_dir == NULL) {
++    search_providers_dir = DATADIR "/gnome-shell/search-providers";
++  }
++  providers_location = g_file_new_for_path (search_providers_dir);
+   g_file_enumerate_children_async (providers_location,
+                                    "standard::type,standard::name,standard::content-type",
+                                    G_FILE_QUERY_INFO_NONE,