sddm: Enable user switching

It was lacking the dbus configuration to bind to
org.freedesktop.DisplayManager, and it was passing fixed TTY/display
numbers to the X server (see 9be012f0d4).
This commit is contained in:
Eelco Dolstra 2016-11-16 23:34:51 +01:00
parent 9524aedfc8
commit 69bea26ea9

View File

@ -27,7 +27,6 @@ let
${cfg.stopScript} ${cfg.stopScript}
''; '';
cfgFile = pkgs.writeText "sddm.conf" '' cfgFile = pkgs.writeText "sddm.conf" ''
[General] [General]
HaltCommand=${pkgs.systemd}/bin/systemctl poweroff HaltCommand=${pkgs.systemd}/bin/systemctl poweroff
@ -47,7 +46,7 @@ let
HideShells=/run/current-system/sw/bin/nologin HideShells=/run/current-system/sw/bin/nologin
[X11] [X11]
MinimumVT=${toString xcfg.tty} MinimumVT=${toString (if xcfg.tty != null then xcfg.tty else 7)}
ServerPath=${xserverWrapper} ServerPath=${xserverWrapper}
XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr
SessionCommand=${dmcfg.session.script} SessionCommand=${dmcfg.session.script}
@ -254,5 +253,10 @@ in
users.extraGroups.sddm.gid = config.ids.gids.sddm; users.extraGroups.sddm.gid = config.ids.gids.sddm;
services.dbus.packages = [ sddm.unwrapped ];
# To enable user switching, allow sddm to allocate TTYs/displays dynamically.
services.xserver.tty = null;
services.xserver.display = null;
}; };
} }