1 import ./make-test-python.nix ({ lib, ...} : {
5 maintainers = with lib.maintainers; [ thibautmarty ];
8 nodes.machine = { pkgs, lib, ... }: {
9 imports = [ ./common/x11.nix ./common/user-account.nix ];
10 test-support.displayManager.auto.user = "alice";
11 services.displayManager.defaultSession = lib.mkForce "none+herbstluftwm";
12 services.xserver.windowManager.herbstluftwm.enable = true;
13 environment.systemPackages = [ pkgs.dzen2 ]; # needed for upstream provided panel
17 with subtest("ensure x starts"):
19 machine.wait_for_file("/home/alice/.Xauthority")
20 machine.succeed("xauth merge ~alice/.Xauthority")
22 with subtest("ensure client is available"):
23 machine.succeed("herbstclient --version")
25 with subtest("ensure keybindings are set"):
26 machine.wait_until_succeeds("herbstclient list_keybinds | grep xterm")
28 with subtest("ensure panel starts"):
29 machine.wait_for_window("dzen title")
31 with subtest("ensure we can open a new terminal"):
32 machine.send_key("alt-ret")
33 machine.wait_for_window(r"alice.*?machine")
35 machine.screenshot("terminal")