| 
									
										
										
										
											2018-11-11 17:41:11 +09:00
										 |  |  | { system ? builtins.currentSystem, | 
					
						
							|  |  |  |   config ? {}, | 
					
						
							|  |  |  |   pkgs ? import ../.. { inherit system config; } | 
					
						
							|  |  |  | }: | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-06 20:55:18 -05:00
										 |  |  | with import ../lib/testing-python.nix { inherit system pkgs; }; | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | let | 
					
						
							|  |  |  |   inherit (pkgs) lib; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   tests = { | 
					
						
							|  |  |  |     default = { | 
					
						
							|  |  |  |       name = "sddm"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |       machine = { ... }: { | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |         imports = [ ./common/user-account.nix ]; | 
					
						
							|  |  |  |         services.xserver.enable = true; | 
					
						
							|  |  |  |         services.xserver.displayManager.sddm.enable = true; | 
					
						
							| 
									
										
										
										
											2019-12-10 15:10:30 +01:00
										 |  |  |         services.xserver.displayManager.defaultSession = "none+icewm"; | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |         services.xserver.windowManager.icewm.enable = true; | 
					
						
							|  |  |  |       }; | 
					
						
							| 
									
										
										
										
											2015-11-22 12:48:37 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |       enableOCR = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       testScript = { nodes, ... }: let | 
					
						
							| 
									
										
										
										
											2018-06-30 01:55:42 +02:00
										 |  |  |         user = nodes.machine.config.users.users.alice; | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |       in ''
 | 
					
						
							| 
									
										
										
										
											2019-11-06 20:55:18 -05:00
										 |  |  |         start_all() | 
					
						
							| 
									
										
										
										
											2019-11-12 12:46:02 -05:00
										 |  |  |         machine.wait_for_text("(?i)select your user") | 
					
						
							| 
									
										
										
										
											2019-11-06 20:55:18 -05:00
										 |  |  |         machine.screenshot("sddm") | 
					
						
							|  |  |  |         machine.send_chars("${user.password}\n") | 
					
						
							|  |  |  |         machine.wait_for_file("${user.home}/.Xauthority") | 
					
						
							|  |  |  |         machine.succeed("xauth merge ${user.home}/.Xauthority") | 
					
						
							|  |  |  |         machine.wait_for_window("^IceWM ") | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |       '';
 | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     autoLogin = { | 
					
						
							|  |  |  |       name = "sddm-autologin"; | 
					
						
							|  |  |  |       meta = with pkgs.stdenv.lib.maintainers; { | 
					
						
							|  |  |  |         maintainers = [ ttuegel ]; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-07-20 20:56:59 +00:00
										 |  |  |       machine = { ... }: { | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |         imports = [ ./common/user-account.nix ]; | 
					
						
							|  |  |  |         services.xserver.enable = true; | 
					
						
							| 
									
										
										
										
											2020-04-12 06:43:50 -04:00
										 |  |  |         services.xserver.displayManager = { | 
					
						
							|  |  |  |           sddm.enable = true; | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |           autoLogin = { | 
					
						
							|  |  |  |             enable = true; | 
					
						
							|  |  |  |             user = "alice"; | 
					
						
							|  |  |  |           }; | 
					
						
							|  |  |  |         }; | 
					
						
							| 
									
										
										
										
											2019-12-10 15:10:30 +01:00
										 |  |  |         services.xserver.displayManager.defaultSession = "none+icewm"; | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |         services.xserver.windowManager.icewm.enable = true; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-06 20:55:18 -05:00
										 |  |  |       testScript = { nodes, ... }: let | 
					
						
							|  |  |  |         user = nodes.machine.config.users.users.alice; | 
					
						
							|  |  |  |       in ''
 | 
					
						
							|  |  |  |         start_all() | 
					
						
							|  |  |  |         machine.wait_for_file("${user.home}/.Xauthority") | 
					
						
							|  |  |  |         machine.succeed("xauth merge ${user.home}/.Xauthority") | 
					
						
							|  |  |  |         machine.wait_for_window("^IceWM ") | 
					
						
							| 
									
										
										
										
											2017-03-24 10:38:16 -05:00
										 |  |  |       '';
 | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | in | 
					
						
							|  |  |  |   lib.mapAttrs (lib.const makeTest) tests |