1import ./make-test.nix ({ pkgs, ...} : {
2 name = "xmonad";
3 meta = with pkgs.stdenv.lib.maintainers; {
4 maintainers = [ nequissimus ];
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 "xmonad";
11 services.xserver.windowManager.xmonad = {
12 enable = true;
13 enableContribAndExtras = true;
14 extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ];
15 };
16 };
17
18 testScript = { nodes, ... }: ''
19 $machine->waitForX;
20 $machine->waitForFile("/home/alice/.Xauthority");
21 $machine->succeed("xauth merge ~alice/.Xauthority");
22 $machine->waitUntilSucceeds("xmonad --restart");
23 $machine->sleep(3);
24 $machine->sendKeys("alt-shift-ret");
25 $machine->waitForWindow(qr/machine.*alice/);
26 $machine->sleep(1);
27 $machine->screenshot("terminal");
28 '';
29})