1import ./make-test.nix ({ pkgs, ...} : {
2 name = "i3wm";
3 meta = with pkgs.stdenv.lib.maintainers; {
4 maintainers = [ aszlig ];
5 };
6
7 machine = { lib, pkgs, ... }: {
8 imports = [ ./common/x11.nix ./common/user-account.nix ];
9 services.xserver.displayManager.auto.user = "alice";
10 services.xserver.windowManager.default = lib.mkForce "i3";
11 services.xserver.windowManager.i3.enable = true;
12 };
13
14 testScript = { nodes, ... }: ''
15 $machine->waitForX;
16 $machine->waitForFile("/home/alice/.Xauthority");
17 $machine->succeed("xauth merge ~alice/.Xauthority");
18 $machine->waitForWindow(qr/first configuration/);
19 $machine->sleep(1);
20 $machine->screenshot("started");
21 $machine->sendKeys("ret");
22 $machine->sleep(1);
23 $machine->sendKeys("alt");
24 $machine->sleep(1);
25 $machine->screenshot("configured");
26 $machine->sendKeys("ret");
27 $machine->sleep(2);
28 $machine->sendKeys("alt-ret");
29 $machine->waitForWindow(qr/machine.*alice/);
30 $machine->sleep(1);
31 $machine->screenshot("terminal");
32 '';
33})