summary refs log tree commit diff
path: root/nixos/modules/services
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-04-27 14:11:02 +0300
committerNikolay Amiantov <ab@fmap.me>2016-04-27 14:59:56 +0300
commit21f984f59029a3c68d4a70d1c52173a29c6a2daf (patch)
tree3e94abd2c0dd82b34c8b8a2bbd24853a05a14a1e /nixos/modules/services
parent89dfbd1215761438c0a041fcbef0633825b8590e (diff)
downloadnixlib-21f984f59029a3c68d4a70d1c52173a29c6a2daf.tar
nixlib-21f984f59029a3c68d4a70d1c52173a29c6a2daf.tar.gz
nixlib-21f984f59029a3c68d4a70d1c52173a29c6a2daf.tar.bz2
nixlib-21f984f59029a3c68d4a70d1c52173a29c6a2daf.tar.lz
nixlib-21f984f59029a3c68d4a70d1c52173a29c6a2daf.tar.xz
nixlib-21f984f59029a3c68d4a70d1c52173a29c6a2daf.tar.zst
nixlib-21f984f59029a3c68d4a70d1c52173a29c6a2daf.zip
xfce service: add noDesktop option
Diffstat (limited to 'nixos/modules/services')
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix43
1 files changed, 27 insertions, 16 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 33b6dd32c193..23bef2e44d52 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -12,20 +12,29 @@ in
 {
   options = {
 
-    services.xserver.desktopManager.xfce.enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = "Enable the Xfce desktop environment.";
-    };
+    services.xserver.desktopManager.xfce = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable the Xfce desktop environment.";
+      };
+
+      thunarPlugins = mkOption {
+        default = [];
+        type = types.listOf types.package;
+        example = literalExample "[ pkgs.xfce.thunar-archive-plugin ]";
+        description = ''
+          A list of plugin that should be installed with Thunar.
+        '';
+      };
 
-    services.xserver.desktopManager.xfce.thunarPlugins = mkOption {
-      default = [];
-      type = types.listOf types.package;
-      example = literalExample "[ pkgs.xfce.thunar-archive-plugin ]";
-      description = ''
-        A list of plugin that should be installed with Thunar.
-      '';
+      noDesktop = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
+      };
     };
+
   };
 
 
@@ -59,14 +68,12 @@ in
         pkgs.xfce.terminal
        (pkgs.xfce.thunar.override { thunarPlugins = cfg.thunarPlugins; })
         pkgs.xfce.xfce4icontheme
-        pkgs.xfce.xfce4panel
         pkgs.xfce.xfce4session
         pkgs.xfce.xfce4settings
         pkgs.xfce.xfce4mixer
         pkgs.xfce.xfce4volumed
         pkgs.xfce.xfce4screenshooter
         pkgs.xfce.xfconf
-        pkgs.xfce.xfdesktop
         pkgs.xfce.xfwm4
         # This supplies some "abstract" icons such as
         # "utilities-terminal" and "accessories-text-editor".
@@ -78,9 +85,13 @@ in
         pkgs.xfce.gvfs
         pkgs.xfce.xfce4_appfinder
         pkgs.xfce.tumbler       # found via dbus
-        pkgs.xfce.xfce4notifyd  # found via dbus
       ]
-      ++ optional config.powerManagement.enable pkgs.xfce.xfce4_power_manager;
+      ++ optional config.powerManagement.enable pkgs.xfce.xfce4_power_manager
+      ++ optionals (!cfg.noDesktop)
+         [ pkgs.xfce.xfce4panel
+           pkgs.xfce.xfdesktop
+	   pkgs.xfce.xfce4notifyd  # found via dbus
+         ];
 
     environment.pathsToLink =
       [ "/share/xfce4" "/share/themes" "/share/mime" "/share/desktop-directories" "/share/gtksourceview-2.0" ];