xserver.displayManager: change default

Switch from slim to lightdm as the display-manager.
If plasma5 is used as desktop-manager use sdddm.
If gnome3 is used as desktop-manager use gdm.

Based on #12516

lassulus fc035da4 678695fd

Changed files
+27 -10
nixos
doc
manual
release-notes
modules
services
x11
desktop-managers
display-managers
tests
+7
nixos/doc/manual/release-notes/rl-1809.xml
···
all user units for each authenticated user.
</para>
</listitem>
+
<listitem>
+
<para>
+
The default display manager is now LightDM.
+
To use SLiM set <literal>services.xserver.displayManager.slim.enable</literal>
+
to <literal>true</literal>.
+
</para>
+
</listitem>
</itemizedlist>
</section>
</section>
+3
nixos/modules/services/x11/desktop-managers/gnome3.nix
···
fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell-fonts ];
+
services.xserver.displayManager.gdm.enable = mkDefault true;
services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ];
services.xserver.displayManager.sessionCommands = ''
···
# Let nautilus find extensions
# TODO: Create nautilus-with-extensions package
environment.variables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";
+
+
services.xserver.updateDbusEnvironment = true;
environment.variables.GIO_EXTRA_MODULES = [ "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
"${pkgs.gnome3.glib-networking.out}/lib/gio/modules"
+5 -3
nixos/modules/services/x11/display-managers/auto.nix
···
config = mkIf cfg.enable {
-
services.xserver.displayManager.slim = {
+
services.xserver.displayManager.lightdm = {
enable = true;
-
autoLogin = true;
-
defaultUser = cfg.user;
+
autoLogin = {
+
enable = true;
+
user = cfg.user;
+
};
};
};
+1 -1
nixos/modules/services/x11/display-managers/gdm.nix
···
}
];
-
services.xserver.displayManager.slim.enable = false;
+
services.xserver.displayManager.lightdm.enable = false;
users.users.gdm =
{ name = "gdm";
-2
nixos/modules/services/x11/display-managers/lightdm.nix
···
}
];
-
services.xserver.displayManager.slim.enable = false;
-
services.xserver.displayManager.job = {
logToFile = true;
-2
nixos/modules/services/x11/display-managers/sddm.nix
···
}
];
-
services.xserver.displayManager.slim.enable = false;
-
services.xserver.displayManager.job = {
logToFile = true;
+1 -1
nixos/modules/services/x11/display-managers/slim.nix
···
enable = mkOption {
type = types.bool;
-
default = config.services.xserver.enable;
+
default = false;
description = ''
Whether to enable SLiM as the display manager.
'';
+9
nixos/modules/services/x11/xserver.nix
···
config = mkIf cfg.enable {
+
services.xserver.displayManager.lightdm.enable =
+
let dmconf = cfg.displayManager;
+
default = !( dmconf.auto.enable
+
|| dmconf.gdm.enable
+
|| dmconf.sddm.enable
+
|| dmconf.slim.enable
+
|| dmconf.xpra.enable );
+
in mkIf (default) true;
+
hardware.opengl.enable = mkDefault true;
services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ];
-1
nixos/tests/gnome3-gdm.nix
···
services.xserver.enable = true;
-
services.xserver.displayManager.slim.enable = false;
services.xserver.displayManager.gdm = {
enable = true;
autoLogin = {
+1
nixos/tests/gnome3.nix
···
services.xserver.enable = true;
+
services.xserver.displayManager.gdm.enable = false;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.displayManager.lightdm.autoLogin.enable = true;
services.xserver.displayManager.lightdm.autoLogin.user = "alice";