1{ lib, ... }:
2{
3 name = "lemurs-xorg-script";
4 meta = with lib.maintainers; {
5 maintainers = [
6 nullcube
7 stunkymonkey
8 ];
9 };
10
11 nodes.machine =
12 { pkgs, ... }:
13 {
14 imports = [ ../common/user-account.nix ];
15
16 services.displayManager.lemurs.enable = true;
17
18 services.xserver.enable = true;
19
20 environment.etc."lemurs/wms/icewm" = {
21 mode = "755";
22 text = ''
23 #! /bin/sh
24 exec ${pkgs.icewm}/bin/icewm-session
25 '';
26 };
27 };
28
29 testScript = ''
30 machine.start()
31
32 machine.wait_for_unit("multi-user.target")
33 machine.wait_until_succeeds("pgrep -f 'lemurs.*tty1'")
34 machine.screenshot("postboot")
35
36 with subtest("Log in as alice to icewm"):
37 machine.send_chars("\n")
38 machine.send_chars("alice\n")
39 machine.sleep(1)
40 machine.send_chars("foobar\n")
41 machine.wait_until_succeeds("pgrep -u alice icewm")
42 machine.sleep(10)
43 machine.succeed("pgrep -u alice icewm")
44 machine.screenshot("postlogin")
45 '';
46}