summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorLuca Bruno <lucabru@src.gnome.org>2016-06-07 14:23:08 +0200
committerLuca Bruno <lucabru@src.gnome.org>2016-06-07 14:23:08 +0200
commita72aba8c30a8bc75e6350dc2d3efb279e38fb9b2 (patch)
tree018bc821504955d91389bcc39496477a8d9ba782 /nixos
parentae1e12f72550b0fc01159a3493e7a56d99a668cb (diff)
parentda62589d8eb1efbb4bb51e165cbbe4c1a5d964ea (diff)
downloadnixlib-a72aba8c30a8bc75e6350dc2d3efb279e38fb9b2.tar
nixlib-a72aba8c30a8bc75e6350dc2d3efb279e38fb9b2.tar.gz
nixlib-a72aba8c30a8bc75e6350dc2d3efb279e38fb9b2.tar.bz2
nixlib-a72aba8c30a8bc75e6350dc2d3efb279e38fb9b2.tar.lz
nixlib-a72aba8c30a8bc75e6350dc2d3efb279e38fb9b2.tar.xz
nixlib-a72aba8c30a8bc75e6350dc2d3efb279e38fb9b2.tar.zst
nixlib-a72aba8c30a8bc75e6350dc2d3efb279e38fb9b2.zip
Merge pull request #14366 from NixOS/gnome-3.20
gnome3.20: init at 3.20.0
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix1
-rw-r--r--nixos/tests/gnome3_20-gdm.nix41
-rw-r--r--nixos/tests/gnome3_20.nix38
3 files changed, 79 insertions, 1 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index b8d19eb80c85..91601f387cbe 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -81,7 +81,6 @@ in {
     };  
 
     environment.gnome3.packageSet = mkOption {
-      type = types.nullOr types.package;
       default = null;
       example = literalExample "pkgs.gnome3_18";
       description = "Which GNOME 3 package set to use.";
diff --git a/nixos/tests/gnome3_20-gdm.nix b/nixos/tests/gnome3_20-gdm.nix
new file mode 100644
index 000000000000..8b1e9afedfb9
--- /dev/null
+++ b/nixos/tests/gnome3_20-gdm.nix
@@ -0,0 +1,41 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "gnome3-gdm";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ lethalman ];
+  };
+
+  machine =
+    { config, pkgs, ... }:
+
+    { imports = [ ./common/user-account.nix ];
+
+      services.xserver.enable = true;
+
+      services.xserver.displayManager.gdm = {
+        enable = true;
+        autoLogin = {
+          enable = true;
+          user = "alice";
+        };
+      };
+      services.xserver.desktopManager.gnome3.enable = true;
+      environment.gnome3.packageSet = pkgs.gnome3_20;
+
+      virtualisation.memorySize = 512;
+    };
+
+  testScript =
+    ''
+      $machine->waitForX;
+      $machine->sleep(15);
+
+      # Check that logging in has given the user ownership of devices.
+      $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
+
+      $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
+      $machine->succeed("xauth merge ~alice/.Xauthority");
+      $machine->waitForWindow(qr/Terminal/);
+      $machine->sleep(20);
+      $machine->screenshot("screen");
+    '';
+})
diff --git a/nixos/tests/gnome3_20.nix b/nixos/tests/gnome3_20.nix
new file mode 100644
index 000000000000..51c83a4e3129
--- /dev/null
+++ b/nixos/tests/gnome3_20.nix
@@ -0,0 +1,38 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "gnome3";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ domenkozar eelco chaoflow lethalman ];
+  };
+
+  machine =
+    { config, pkgs, ... }:
+
+    { imports = [ ./common/user-account.nix ];
+
+      services.xserver.enable = true;
+
+      services.xserver.displayManager.auto.enable = true;
+      services.xserver.displayManager.auto.user = "alice";
+      services.xserver.desktopManager.gnome3.enable = true;
+
+      environment.gnome3.packageSet = pkgs.gnome3_20;
+
+      virtualisation.memorySize = 512;
+    };
+
+  testScript =
+    ''
+      $machine->waitForX;
+      $machine->sleep(15);
+
+      # Check that logging in has given the user ownership of devices.
+      $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
+
+      $machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
+      $machine->succeed("xauth merge ~alice/.Xauthority");
+      $machine->waitForWindow(qr/Terminal/);
+      $machine->mustSucceed("timeout 900 bash -c 'journalctl -f|grep -m 1 \"GNOME Shell started\"'");
+      $machine->sleep(10);
+      $machine->screenshot("screen");
+    '';
+})