about summary refs log tree commit diff
path: root/nixos/modules/services/x11/display-managers/sddm.nix
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2019-12-10 15:10:30 +0100
committerJan Tojnar <jtojnar@gmail.com>2019-12-15 04:16:20 +0100
commit8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c (patch)
treeefe04b82b4f7fbc455b63b002b4b4721b50a2b05 /nixos/modules/services/x11/display-managers/sddm.nix
parent53ef29c1380424e4e697725c4f3df30f9acacebc (diff)
downloadnixlib-8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c.tar
nixlib-8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c.tar.gz
nixlib-8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c.tar.bz2
nixlib-8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c.tar.lz
nixlib-8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c.tar.xz
nixlib-8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c.tar.zst
nixlib-8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c.zip
nixos/displayManager: deprecate separate options for default wm/dm
The upstream session files display managers use have no concept of sessions being composed from
desktop manager and window manager. To be able to set upstream session files as default
session, we need a single option. Having two different ways to set default session would be confusing,
though, so we decided to deprecate the old method.

We also created separate script for each session, just like we already had a separate desktop
file for each one, and started using displayManager.sessionPackages mechanism to make the
session handling more uniform.
Diffstat (limited to 'nixos/modules/services/x11/display-managers/sddm.nix')
-rw-r--r--nixos/modules/services/x11/display-managers/sddm.nix16
1 files changed, 7 insertions, 9 deletions
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
index b51582d2ca5b..4224c557ed63 100644
--- a/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -50,8 +50,8 @@ let
     MinimumVT=${toString (if xcfg.tty != null then xcfg.tty else 7)}
     ServerPath=${xserverWrapper}
     XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr
-    SessionCommand=${dmcfg.session.wrapper}
-    SessionDir=${dmcfg.session.desktops}/share/xsessions
+    SessionCommand=${dmcfg.sessionData.wrapper}
+    SessionDir=${dmcfg.sessionData.desktops}/share/xsessions
     XauthPath=${pkgs.xorg.xauth}/bin/xauth
     DisplayCommand=${Xsetup}
     DisplayStopCommand=${Xstop}
@@ -59,19 +59,19 @@ let
 
     [Wayland]
     EnableHidpi=${if cfg.enableHidpi then "true" else "false"}
-    SessionDir=${dmcfg.session.desktops}/share/wayland-sessions
+    SessionDir=${dmcfg.sessionData.desktops}/share/wayland-sessions
 
     ${optionalString cfg.autoLogin.enable ''
     [Autologin]
     User=${cfg.autoLogin.user}
-    Session=${defaultSessionName}.desktop
+    Session=${autoLoginSessionName}.desktop
     Relogin=${boolToString cfg.autoLogin.relogin}
     ''}
 
     ${cfg.extraConfig}
   '';
 
-  defaultSessionName = dmcfg.defaultSession;
+  autoLoginSessionName = dmcfg.sessionData.autologinSession;
 
 in
 {
@@ -206,11 +206,9 @@ in
           SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set
         '';
       }
-      { assertion = cfg.autoLogin.enable -> defaultSessionName != "none";
+      { assertion = cfg.autoLogin.enable -> autoLoginSessionName != null;
         message = ''
-          SDDM auto-login requires that services.xserver.desktopManager.default and
-          services.xserver.windowManager.default are set to valid values. The current
-          default session: ${defaultSessionName} is not valid.
+          SDDM auto-login requires that services.xserver.displayManager.defaultSession is set.
         '';
       }
     ];