python310Packages.pydeconz: 104 -> 105
[NixPkgs.git] / nixos / tests / sddm.nix
blobc76a9683e66d0bbe834098fe24cbcc2c64eb2b9a
1 { system ? builtins.currentSystem,
2   config ? {},
3   pkgs ? import ../.. { inherit system config; }
4 }:
6 with import ../lib/testing-python.nix { inherit system pkgs; };
8 let
9   inherit (pkgs) lib;
11   tests = {
12     default = {
13       name = "sddm";
15       nodes.machine = { ... }: {
16         imports = [ ./common/user-account.nix ];
17         services.xserver.enable = true;
18         services.xserver.displayManager.sddm.enable = true;
19         services.xserver.displayManager.defaultSession = "none+icewm";
20         services.xserver.windowManager.icewm.enable = true;
21       };
23       enableOCR = true;
25       testScript = { nodes, ... }: let
26         user = nodes.machine.config.users.users.alice;
27       in ''
28         start_all()
29         machine.wait_for_text("(?i)select your user")
30         machine.screenshot("sddm")
31         machine.send_chars("${user.password}\n")
32         machine.wait_for_file("${user.home}/.Xauthority")
33         machine.succeed("xauth merge ${user.home}/.Xauthority")
34         machine.wait_for_window("^IceWM ")
35       '';
36     };
38     autoLogin = {
39       name = "sddm-autologin";
40       meta = with pkgs.lib.maintainers; {
41         maintainers = [ ttuegel ];
42       };
44       nodes.machine = { ... }: {
45         imports = [ ./common/user-account.nix ];
46         services.xserver.enable = true;
47         services.xserver.displayManager = {
48           sddm.enable = true;
49           autoLogin = {
50             enable = true;
51             user = "alice";
52           };
53         };
54         services.xserver.displayManager.defaultSession = "none+icewm";
55         services.xserver.windowManager.icewm.enable = true;
56       };
58       testScript = { nodes, ... }: let
59         user = nodes.machine.config.users.users.alice;
60       in ''
61         start_all()
62         machine.wait_for_file("${user.home}/.Xauthority")
63         machine.succeed("xauth merge ${user.home}/.Xauthority")
64         machine.wait_for_window("^IceWM ")
65       '';
66     };
67   };
69   lib.mapAttrs (lib.const makeTest) tests