diff --git a/modules/services/x11/xserver/desktop-managers/default.nix b/modules/services/x11/xserver/desktop-managers/default.nix index 9c4f9d92442..3de3fa25792 100644 --- a/modules/services/x11/xserver/desktop-managers/default.nix +++ b/modules/services/x11/xserver/desktop-managers/default.nix @@ -4,6 +4,8 @@ let inherit (pkgs.lib) mkOption mergeOneOption mkIf filter optionalString any; cfg = config.services.xserver.desktopManager; + # Whether desktop manager `d' is capable of setting a background. + # If it isn't, the `feh' program is used as a fallback. needBGCond = d: ! (d ? bgSupport && d.bgSupport); in @@ -50,7 +52,6 @@ in }; - default = mkOption { default = "xterm"; example = "none"; @@ -68,7 +69,7 @@ in }; }; - environment = mkIf cfg.session.needBGPackages { + environment = mkIf (config.services.xserver.enable && cfg.session.needBGPackages) { extraPackages = [ pkgs.feh ]; }; } diff --git a/modules/services/x11/xserver/desktop-managers/xterm.nix b/modules/services/x11/xserver/desktop-managers/xterm.nix index 7066c44527c..861d5001478 100644 --- a/modules/services/x11/xserver/desktop-managers/xterm.nix +++ b/modules/services/x11/xserver/desktop-managers/xterm.nix @@ -1,23 +1,23 @@ {pkgs, config, ...}: let + inherit (pkgs.lib) mkOption mkIf; cfg = config.services.xserver.desktopManager.xterm; - options = { services = { xserver = { desktopManager = { + options = { - xterm = { - enable = mkOption { - default = true; - example = false; - description = "Enable a xterm terminal as a desktop manager."; - }; + services.xserver.desktopManager.xterm.enable = mkOption { + default = true; + example = false; + description = "Enable a xterm terminal as a desktop manager."; }; - }; }; }; }; + }; + in -mkIf cfg.enable { +mkIf (config.services.xserver.enable && cfg.enable) { require = options; services = {