vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / greetd-no-shadow.nix
blob382218ffa948f63b8687b51e0e5590eeb7c986ed
1 import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
3   name = "greetd-no-shadow";
4   meta = with pkgs.lib.maintainers; {
5     maintainers = [ ];
6   };
8   nodes.machine =
9     { pkgs, lib, ... }: {
11       users.users.alice = {
12         isNormalUser = true;
13         group = "alice";
14         password = "foobar";
15       };
16       users.groups.alice = {};
18       # This means login(1) breaks, so we must use greetd/agreety instead.
19       security.shadow.enable = false;
21       services.greetd = {
22         enable = true;
23         settings = {
24           default_session = {
25             command = "${pkgs.greetd.greetd}/bin/agreety --cmd bash";
26           };
27         };
28       };
29     };
31   testScript = ''
32       machine.start()
34       machine.wait_for_unit("multi-user.target")
35       machine.wait_until_succeeds("pgrep -f 'agretty.*tty1'")
36       machine.screenshot("postboot")
38       with subtest("Log in as alice on a virtual console"):
39           machine.wait_until_tty_matches("1", "login: ")
40           machine.send_chars("alice\n")
41           machine.wait_until_tty_matches("1", "login: alice")
42           machine.wait_until_succeeds("pgrep login")
43           machine.wait_until_tty_matches("1", "Password: ")
44           machine.send_chars("foobar\n")
45           machine.wait_until_succeeds("pgrep -u alice bash")
46           machine.send_chars("touch done\n")
47           machine.wait_for_file("/home/alice/done")
48   '';