1import ./make-test.nix ({ pkgs, ...} : {
2 name = "gnome3-gdm";
3 meta = with pkgs.stdenv.lib.maintainers; {
4 maintainers = [ lethalman ];
5 };
6
7 machine =
8 { config, pkgs, ... }:
9
10 { imports = [ ./common/user-account.nix ];
11
12 services.xserver.enable = true;
13
14 services.xserver.displayManager.gdm = {
15 enable = true;
16 autoLogin = {
17 enable = true;
18 user = "alice";
19 };
20 };
21 services.xserver.desktopManager.gnome3.enable = true;
22
23 virtualisation.memorySize = 512;
24 };
25
26 testScript =
27 ''
28 $machine->waitForX;
29 $machine->sleep(15);
30
31 # Check that logging in has given the user ownership of devices.
32 $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
33
34 $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
35 $machine->succeed("xauth merge ~alice/.Xauthority");
36 $machine->waitForWindow(qr/Terminal/);
37 $machine->sleep(20);
38 $machine->screenshot("screen");
39 '';
40})