From 21f984f59029a3c68d4a70d1c52173a29c6a2daf Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Wed, 27 Apr 2016 14:11:02 +0300 Subject: xfce service: add noDesktop option --- .../modules/services/x11/desktop-managers/xfce.nix | 43 ++++++++++++++-------- 1 file changed, 27 insertions(+), 16 deletions(-) (limited to 'nixos/modules/services') 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" ]; -- cgit 1.4.1