| 
									
										
										
										
											2017-09-04 14:03:20 -04: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 ]; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   testScript = { nodes, ... }: ''
 | 
					
						
							|  |  |  |     $machine->waitForX; | 
					
						
							|  |  |  |     $machine->waitForFile("/home/alice/.Xauthority"); | 
					
						
							|  |  |  |     $machine->succeed("xauth merge ~alice/.Xauthority"); | 
					
						
							| 
									
										
										
										
											2017-09-09 10:07:34 -04:00
										 |  |  |     $machine->waitUntilSucceeds("xmonad --restart"); | 
					
						
							| 
									
										
										
										
											2017-09-04 14:03:20 -04:00
										 |  |  |     $machine->sleep(3); | 
					
						
							|  |  |  |     $machine->sendKeys("alt-shift-ret"); | 
					
						
							|  |  |  |     $machine->waitForWindow(qr/machine.*alice/); | 
					
						
							|  |  |  |     $machine->sleep(1); | 
					
						
							|  |  |  |     $machine->screenshot("terminal"); | 
					
						
							|  |  |  |   '';
 | 
					
						
							|  |  |  | }) |