diff options
Diffstat (limited to 'nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix')
-rw-r--r-- | nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix index 3cf92f98c56f..eee1f63ebdcc 100644 --- a/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -4,10 +4,9 @@ with lib; let cfg = config.services.xserver.desktopManager.xfce; -in +in { - meta = { maintainers = teams.xfce.members; }; @@ -36,6 +35,12 @@ in [ "services" "xserver" "desktopManager" "xfce" "extraSessionCommands" ] [ "services" "xserver" "displayManager" "sessionCommands" ]) (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "xfce" "screenLock" ] "") + + # added 2022-06-26 + # thunar has its own module + (mkRenamedOptionModule + [ "services" "xserver" "desktopManager" "xfce" "thunarPlugins" ] + [ "programs" "thunar" "plugins" ]) ]; options = { @@ -43,28 +48,25 @@ in enable = mkOption { type = types.bool; default = false; - description = "Enable the Xfce desktop environment."; - }; - - thunarPlugins = mkOption { - default = []; - type = types.listOf types.package; - example = literalExpression "[ pkgs.xfce.thunar-archive-plugin ]"; - description = '' - A list of plugin that should be installed with Thunar. - ''; + description = lib.mdDoc "Enable the Xfce desktop environment."; }; noDesktop = mkOption { type = types.bool; default = false; - description = "Don't install XFCE desktop components (xfdesktop and panel)."; + description = lib.mdDoc "Don't install XFCE desktop components (xfdesktop and panel)."; }; enableXfwm = mkOption { type = types.bool; default = true; - description = "Enable the XFWM (default) window manager."; + description = lib.mdDoc "Enable the XFWM (default) window manager."; + }; + + enableScreensaver = mkOption { + type = types.bool; + default = true; + description = lib.mdDoc "Enable the XFCE screensaver."; }; }; }; @@ -92,7 +94,6 @@ in exo garcon libxfce4ui - xfconf mousepad parole @@ -104,8 +105,6 @@ in xfce4-settings xfce4-taskmanager xfce4-terminal - - (thunar.override { thunarPlugins = cfg.thunarPlugins; }) ] # TODO: NetworkManager doesn't belong here ++ optional config.networking.networkmanager.enable networkmanagerapplet ++ optional config.powerManagement.enable xfce4-power-manager @@ -122,7 +121,10 @@ in ] ++ optionals (!cfg.noDesktop) [ xfce4-panel xfdesktop - ]; + ] ++ optional cfg.enableScreensaver xfce4-screensaver; + + programs.xfconf.enable = true; + programs.thunar.enable = true; environment.pathsToLink = [ "/share/xfce4" @@ -164,9 +166,9 @@ in # Systemd services systemd.packages = with pkgs.xfce; [ - (thunar.override { thunarPlugins = cfg.thunarPlugins; }) xfce4-notifyd ]; + security.pam.services.xfce4-screensaver.unixAuth = cfg.enableScreensaver; }; } |