at master 2.0 kB view raw
1{ lib, ... }: 2 3let 4 machineBase = { 5 imports = [ ./common/user-account.nix ]; 6 services.displayManager.ly = { 7 enable = true; 8 settings = { 9 load = false; 10 save = false; 11 }; 12 }; 13 }; 14in 15{ 16 name = "ly"; 17 18 nodes.machine = 19 { ... }: 20 lib.attrsets.recursiveUpdate machineBase { 21 services.displayManager.ly.x11Support = true; 22 services.xserver.enable = true; 23 services.displayManager.defaultSession = "none+icewm"; 24 services.xserver.windowManager.icewm.enable = true; 25 }; 26 nodes.machineNoX11 = 27 { ... }: 28 lib.attrsets.recursiveUpdate machineBase { 29 services.displayManager.ly.x11Support = false; 30 services.displayManager.defaultSession = "sway"; 31 programs.sway.enable = true; 32 }; 33 34 testScript = 35 { nodes, ... }: 36 let 37 user = nodes.machine.users.users.alice; 38 in 39 '' 40 start_all() 41 42 machine.wait_until_tty_matches("1", "password:") 43 machine.send_key("ctrl-alt-f1") 44 machine.sleep(1) 45 machine.screenshot("ly") 46 machine.send_chars("alice") 47 machine.send_key("tab") 48 machine.send_chars("${user.password}") 49 machine.send_key("ret") 50 machine.wait_for_file("/run/user/${toString user.uid}/lyxauth") 51 machine.succeed("xauth merge /run/user/${toString user.uid}/lyxauth") 52 machine.wait_for_window("^IceWM ") 53 machine.screenshot("icewm") 54 55 machineNoX11.wait_until_tty_matches("1", "password:") 56 machineNoX11.send_key("ctrl-alt-f1") 57 machineNoX11.sleep(1) 58 machineNoX11.screenshot("ly-no-x11") 59 machineNoX11.send_chars("alice") 60 machineNoX11.send_key("tab") 61 machineNoX11.send_chars("${user.password}") 62 machineNoX11.send_key("ret") 63 machineNoX11.wait_for_file("/run/user/${toString user.uid}/wayland-1") 64 machineNoX11.wait_for_file("/run/user/${toString user.uid}/sway-ipc.*.sock") 65 machineNoX11.sleep(5) 66 machineNoX11.screenshot("sway") 67 ''; 68}