2017-09-04 21:03:20 +03:00
|
|
|
import ./make-test.nix ({ pkgs, ...} : {
|
|
|
|
name = "xmonad";
|
|
|
|
meta = with pkgs.stdenv.lib.maintainers; {
|
|
|
|
maintainers = [ nequissimus ];
|
|
|
|
};
|
|
|
|
|
|
|
|
machine = { lib, pkgs, ... }: {
|
|
|
|
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
|
|
|
services.xserver.displayManager.auto.user = "alice";
|
|
|
|
services.xserver.windowManager.default = lib.mkForce "xmonad";
|
|
|
|
services.xserver.windowManager.xmonad = {
|
|
|
|
enable = true;
|
|
|
|
enableContribAndExtras = true;
|
|
|
|
extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ];
|
2018-11-29 01:08:20 +03:00
|
|
|
config = ''
|
|
|
|
import XMonad
|
|
|
|
import XMonad.Util.EZConfig
|
|
|
|
main = launch $ def `additionalKeysP` myKeys
|
|
|
|
myKeys = [ ("M-C-x", spawn "xterm") ]
|
|
|
|
'';
|
2017-09-04 21:03:20 +03:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2018-07-20 23:56:59 +03:00
|
|
|
testScript = { ... }: ''
|
2017-09-04 21:03:20 +03:00
|
|
|
$machine->waitForX;
|
|
|
|
$machine->waitForFile("/home/alice/.Xauthority");
|
|
|
|
$machine->succeed("xauth merge ~alice/.Xauthority");
|
2018-11-29 01:08:20 +03:00
|
|
|
$machine->sendKeys("alt-ctrl-x");
|
|
|
|
$machine->waitForWindow(qr/machine.*alice/);
|
|
|
|
$machine->sleep(1);
|
|
|
|
$machine->screenshot("terminal");
|
2017-09-09 17:07:34 +03:00
|
|
|
$machine->waitUntilSucceeds("xmonad --restart");
|
2017-09-04 21:03:20 +03:00
|
|
|
$machine->sleep(3);
|
|
|
|
$machine->sendKeys("alt-shift-ret");
|
2018-12-12 23:30:47 +03:00
|
|
|
$machine->waitForWindow(qr/alice.*machine/);
|
2017-09-04 21:03:20 +03:00
|
|
|
$machine->sleep(1);
|
|
|
|
$machine->screenshot("terminal");
|
|
|
|
'';
|
|
|
|
})
|