diff options
author | Luna Nova <git@lunnova.dev> | 2022-02-18 13:47:54 -0800 |
---|---|---|
committer | Luna Nova <git@lunnova.dev> | 2022-03-07 08:31:40 -0800 |
commit | 865e0df2fc3dd06ca7b5730a7f3651a94beb4006 (patch) | |
tree | 760d9f53e494e8121d28c711b67e771b249887ed /nixos/tests/input-remapper.nix | |
parent | d8cb49476539a9743da6dfc8eb1d2aa554fa59be (diff) |
nixos/input-remapper: add nixos test for input-remapper
Diffstat (limited to 'nixos/tests/input-remapper.nix')
-rw-r--r-- | nixos/tests/input-remapper.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/nixos/tests/input-remapper.nix b/nixos/tests/input-remapper.nix new file mode 100644 index 0000000000000..8b9939617083a --- /dev/null +++ b/nixos/tests/input-remapper.nix @@ -0,0 +1,45 @@ +import ./make-test-python.nix ({ pkgs, ... }: + + { + name = "input-remapper"; + meta = { + maintainers = with pkgs.lib.maintainers; [ LunNova ]; + }; + + machine = { config, ... }: + let user = config.users.users.sybil; in + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + + services.xserver.enable = true; + services.input-remapper.enable = true; + users.users.sybil = { isNormalUser = true; group = "wheel"; }; + test-support.displayManager.auto.user = user.name; + # passwordless pkexec bodge + security.sudo = { enable = true; wheelNeedsPassword = false; }; + security.wrappers.pkexec = pkgs.lib.mkForce + { + setuid = true; + owner = "root"; + group = "root"; + source = "${pkgs.sudo}/bin/sudo"; + }; + }; + + enableOCR = true; + + testScript = { nodes, ... }: '' + start_all() + machine.wait_for_x() + + machine.succeed("systemctl status input-remapper.service") + machine.execute("su - sybil -c input-remapper-gtk >&2 &") + + machine.wait_for_text("Input Remapper") + machine.wait_for_text("Preset") + machine.wait_for_text("Change Key") + ''; + }) |