nixpkgs/nixos/tests/dwl.nix
2025-06-05 23:59:14 +04:00

43 lines
931 B
Nix

{ lib, ... }:
{
name = "dwl_test_vm";
meta = {
maintainers = with lib.maintainers; [ gurjaka ];
};
nodes.machine =
{
pkgs,
lib,
...
}:
{
imports = [
./common/user-account.nix
./common/wayland-cage.nix
];
environment.systemPackages = [ pkgs.foot ];
services.displayManager.defaultSession = lib.mkForce "dwl";
programs.dwl.enable = true;
};
testScript = ''
with subtest("ensure dwl starts"):
machine.wait_for_file("/run/user/1000/wayland-0")
with subtest("ensure foot is installed"):
machine.succeed("which foot")
with subtest("ensure we can open a new terminal"):
# sleep 3 is required to make sure dwl has started
# TODO: find better way to identify dwl session
machine.sleep(3)
machine.send_key("alt-shift-ret")
machine.sleep(3)
machine.screenshot("terminal")
'';
}