about summary refs log tree commit diff
path: root/nixos/modules/services/x11
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2014-04-16 18:08:00 +0200
committerDomen Kožar <domen@dev.si>2014-04-16 18:08:00 +0200
commit3a9f28ee0860ea42bd0b2d66fdd04342191c2b0d (patch)
tree412e26232a581ad3ec95c9d967eaf1b3d9323867 /nixos/modules/services/x11
parent3b3f7d2595662d748e63ba08ea591ca04b53ae32 (diff)
parent92a831a4ecfdc58106564ff7f69f13a7dd29a079 (diff)
downloadnixlib-3a9f28ee0860ea42bd0b2d66fdd04342191c2b0d.tar
nixlib-3a9f28ee0860ea42bd0b2d66fdd04342191c2b0d.tar.gz
nixlib-3a9f28ee0860ea42bd0b2d66fdd04342191c2b0d.tar.bz2
nixlib-3a9f28ee0860ea42bd0b2d66fdd04342191c2b0d.tar.lz
nixlib-3a9f28ee0860ea42bd0b2d66fdd04342191c2b0d.tar.xz
nixlib-3a9f28ee0860ea42bd0b2d66fdd04342191c2b0d.tar.zst
nixlib-3a9f28ee0860ea42bd0b2d66fdd04342191c2b0d.zip
Merge pull request #2185 from lethalman/gnome3
tracker, licenses.cc-by-30, gnome-user-docs, upgrade sushi, gnome-keyring service, gnome-user-share, gnome-tweak-tool, gnome-shell-extensions, xdg-user-dirs
Diffstat (limited to 'nixos/modules/services/x11')
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix40
1 files changed, 36 insertions, 4 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index c93cd9055302..f5a2702904df 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -5,6 +5,16 @@ with lib;
 let
   cfg = config.services.xserver.desktopManager.gnome3;
   gnome3 = pkgs.gnome3;
+
+  # Remove packages of ys from xs, based on their names
+  removePackagesByName = xs: ys:
+    let
+      pkgName = drv: (builtins.parseDrvName drv.name).name;
+	  ysNames = map pkgName ys;
+      res = (filter (x: !(builtins.elem (pkgName x) ysNames)) xs);
+    in
+      filter (x: !(builtins.elem (pkgName x) ysNames)) xs;
+
 in {
 
   options = {
@@ -32,8 +42,12 @@ in {
     services.accounts-daemon.enable = true;
     services.gnome3.at-spi2-core.enable = true;
     services.gnome3.evolution-data-server.enable = true;
-    services.gnome3.sushi.enable = true;
-    services.telepathy.enable = true;
+    services.gnome3.gnome-keyring.enable = true;
+    services.gnome3.gnome-online-accounts.enable = mkDefault true;
+    services.gnome3.gnome-user-share.enable = mkDefault true;
+    services.gnome3.sushi.enable = mkDefault true;
+    services.gnome3.tracker.enable = mkDefault true;
+    services.telepathy.enable = mkDefault true;
     networking.networkmanager.enable = true;
     services.upower.enable = config.powerManagement.enable;
 
@@ -50,6 +64,12 @@ in {
 
           export XDG_MENU_PREFIX=gnome
 
+          # 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}
+
+          # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
+          ${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
+
           ${gnome3.gnome_session}/bin/gnome-session&
           waitPID=$!
         '';
@@ -58,17 +78,22 @@ in {
     environment.variables.GIO_EXTRA_MODULES = [ "${gnome3.dconf}/lib/gio/modules"
                                                 "${pkgs.glib_networking}/lib/gio/modules" ];
     environment.systemPackages =
-      [ gnome3.dconf
+      [ pkgs.desktop_file_utils
         pkgs.glib_networking
+        pkgs.gtk3 # for gtk-update-icon-cache
         pkgs.ibus
+        pkgs.shared_mime_info # for update-mime-database
+        gnome3.dconf
         gnome3.gnome-backgrounds
         gnome3.gnome_control_center
         gnome3.gnome_icon_theme
+        gnome3.gnome-menus
         gnome3.gnome_settings_daemon
         gnome3.gnome_shell
         gnome3.gnome_themes_standard
-      ] ++ (lists.difference [
+      ] ++ (removePackagesByName [
         gnome3.baobab
+        gnome3.empathy
         gnome3.eog
         gnome3.epiphany
         gnome3.evince
@@ -81,12 +106,19 @@ in {
         gnome3.gnome-contacts
         gnome3.gnome-font-viewer
         gnome3.gnome-screenshot
+        gnome3.gnome-shell-extensions
         gnome3.gnome-system-log
         gnome3.gnome-system-monitor
         gnome3.gnome_terminal
+        gnome3.gnome-user-docs
 
         gnome3.file-roller
+        gnome3.gnome-tweak-tool
       ] config.environment.gnome3.excludePackages);
+
+    # Needed for themes and backgrounds
+    environment.pathsToLink = [ "/share" ];
+
   };