3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/nixos/tests/common/auto.nix
worldofpeace c95612a5a2 nixos/display-managers/auto: remove
This module allows root autoLogin, so we would break that for users, but
they shouldn't be using it anyways. This gives the impression like auto
is some special display manager, when it's just lightdm and special pam
rules to allow root autoLogin. It was created for NixOS's testing
so I believe this is where it belongs.
2020-01-29 19:05:46 -05:00

69 lines
1.3 KiB
Nix

{ config, lib, ... }:
with lib;
let
dmcfg = config.services.xserver.displayManager;
cfg = config.test-support.displayManager.auto;
in
{
###### interface
options = {
test-support.displayManager.auto = {
enable = mkOption {
default = false;
description = ''
Whether to enable the fake "auto" display manager, which
automatically logs in the user specified in the
<option>user</option> option. This is mostly useful for
automated tests.
'';
};
user = mkOption {
default = "root";
description = "The user account to login automatically.";
};
};
};
###### implementation
config = mkIf cfg.enable {
services.xserver.displayManager.lightdm = {
enable = true;
autoLogin = {
enable = true;
user = cfg.user;
};
};
# lightdm by default doesn't allow auto login for root, which is
# required by some nixos tests. Override it here.
security.pam.services.lightdm-autologin.text = lib.mkForce ''
auth requisite pam_nologin.so
auth required pam_succeed_if.so quiet
auth required pam_permit.so
account include lightdm
password include lightdm
session include lightdm
'';
};
}