diff options
author | Tor Hedin Brønner <torhedinbronner@gmail.com> | 2019-01-12 10:31:37 +0100 |
---|---|---|
committer | Jan Tojnar <jtojnar@gmail.com> | 2019-12-15 04:16:20 +0100 |
commit | d25365c3c13f2fcc4e5574f01106c061c493e63e (patch) | |
tree | dda982f84e63f48a3f46b71eb17747d77e6809a4 /nixos/modules/services/x11/display-managers/sddm.nix | |
parent | 58e5290fcee60178973f4cc21011fbbf03497410 (diff) | |
download | nixlib-d25365c3c13f2fcc4e5574f01106c061c493e63e.tar nixlib-d25365c3c13f2fcc4e5574f01106c061c493e63e.tar.gz nixlib-d25365c3c13f2fcc4e5574f01106c061c493e63e.tar.bz2 nixlib-d25365c3c13f2fcc4e5574f01106c061c493e63e.tar.lz nixlib-d25365c3c13f2fcc4e5574f01106c061c493e63e.tar.xz nixlib-d25365c3c13f2fcc4e5574f01106c061c493e63e.tar.zst nixlib-d25365c3c13f2fcc4e5574f01106c061c493e63e.zip |
nixos/displayManager: introduce defaultSession
There's two ways of providing graphical sessions now: - `displayManager.session` via. `desktopManager.session` and `windowManager.session` - `displayManager.sessionPackages` `sessionPackages` doesn't make a distinction between desktop and window managers. This makes selecting a session provided by a package using `desktopManager.default` nonsensical. We therefor introduce `displayManager.defaultSession` which can select a session from either `displayManager.session` or `displayManager.sessionPackages`. It will default to `desktopManager.default + windowManager.default` as before. If the dm default is "none" it will select the first provided session from `sessionPackages`.
Diffstat (limited to 'nixos/modules/services/x11/display-managers/sddm.nix')
-rw-r--r-- | nixos/modules/services/x11/display-managers/sddm.nix | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 24e120c4f2cf..b51582d2ca5b 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -71,11 +71,7 @@ let ${cfg.extraConfig} ''; - defaultSessionName = - let - dm = xcfg.desktopManager.default; - wm = xcfg.windowManager.default; - in dm + optionalString (wm != "none") ("+" + wm); + defaultSessionName = dmcfg.defaultSession; in { @@ -210,7 +206,7 @@ in SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> elem defaultSessionName dmcfg.session.names; + { assertion = cfg.autoLogin.enable -> defaultSessionName != "none"; message = '' SDDM auto-login requires that services.xserver.desktopManager.default and services.xserver.windowManager.default are set to valid values. The current |