1{ lib, ... }:
2{
3 name = "lemurs-wayland";
4 meta = with lib.maintainers; {
5 maintainers = [
6 nullcube
7 stunkymonkey
8 ];
9 };
10
11 nodes.machine =
12 { ... }:
13 {
14 imports = [ ../common/user-account.nix ];
15
16 # Required for wayland to work with Lemurs
17 services.seatd.enable = true;
18 users.users.alice.extraGroups = [ "seat" ];
19
20 services.displayManager.lemurs.enable = true;
21
22 programs.river-classic.enable = true;
23 };
24
25 testScript = ''
26 machine.start()
27
28 machine.wait_for_unit("multi-user.target")
29 machine.wait_until_succeeds("pgrep -f 'lemurs.*tty1'")
30 machine.screenshot("postboot")
31
32 with subtest("Log in as alice to river"):
33 machine.send_chars("\n")
34 machine.send_chars("alice\n")
35 machine.sleep(1)
36 machine.send_chars("foobar\n")
37 machine.sleep(1)
38 machine.wait_until_succeeds("pgrep -u alice river")
39 machine.sleep(10)
40 machine.succeed("pgrep -u alice river")
41 machine.screenshot("postlogin")
42 '';
43}