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.slim.enable = false;
15 services.xserver.displayManager.gdm = {
16 enable = true;
17 autoLogin = {
18 enable = true;
19 user = "alice";
20 };
21 };
22 services.xserver.desktopManager.gnome3.enable = true;
23
24 virtualisation.memorySize = 1024;
25 };
26
27 testScript =
28 ''
29 $machine->waitForX;
30 $machine->sleep(15);
31
32 # Check that logging in has given the user ownership of devices.
33 $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
34
35 $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
36 $machine->succeed("xauth merge ~alice/.Xauthority");
37 $machine->waitForWindow(qr/Terminal/);
38 $machine->sleep(20);
39 $machine->screenshot("screen");
40 '';
41})