diff options
author | Katharina Fey <kookie@spacekookie.de> | 2020-02-03 09:26:35 +0100 |
---|---|---|
committer | Katharina Fey <kookie@spacekookie.de> | 2020-02-03 09:26:35 +0100 |
commit | 899a451e08f7d6d2c8214d119c2a0316849a0ed4 (patch) | |
tree | 5e72a7288b7d2b33fead36fbfe91a02a48ff7fef /nixpkgs/nixos/tests/common/auto.nix | |
parent | 5962418b6543dfb3ca34965c0fa16dd77543801b (diff) | |
parent | a21c2fa3ea2b88e698db6fc151d9c7259ae14d96 (diff) |
Merge commit 'a21c2fa3ea2b88e698db6fc151d9c7259ae14d96'
Diffstat (limited to 'nixpkgs/nixos/tests/common/auto.nix')
-rw-r--r-- | nixpkgs/nixos/tests/common/auto.nix | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/nixpkgs/nixos/tests/common/auto.nix b/nixpkgs/nixos/tests/common/auto.nix new file mode 100644 index 00000000000..2c21a8d5167 --- /dev/null +++ b/nixpkgs/nixos/tests/common/auto.nix @@ -0,0 +1,68 @@ +{ 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 + ''; + + }; + +} |