Merge branch 'master--plasma-5'
This commit is contained in:
commit
39fdbbb71e
5 changed files with 102 additions and 42 deletions
|
@ -72,7 +72,7 @@ in rec {
|
|||
(all nixos.tests.ecryptfs)
|
||||
(all nixos.tests.ipv6)
|
||||
(all nixos.tests.i3wm)
|
||||
#(all nixos.tests.plasma5) # temporarily, see #24240
|
||||
(all nixos.tests.plasma5)
|
||||
#(all nixos.tests.lightdm)
|
||||
(all nixos.tests.login)
|
||||
(all nixos.tests.misc)
|
||||
|
@ -92,7 +92,7 @@ in rec {
|
|||
(all nixos.tests.openssh)
|
||||
(all nixos.tests.printing)
|
||||
(all nixos.tests.proxy)
|
||||
(all nixos.tests.sddm)
|
||||
(all nixos.tests.sddm.default)
|
||||
(all nixos.tests.simple)
|
||||
(all nixos.tests.udisks2)
|
||||
(all nixos.tests.xfce)
|
||||
|
|
|
@ -296,7 +296,7 @@ in rec {
|
|||
tests.quake3 = callTest tests/quake3.nix {};
|
||||
tests.runInMachine = callTest tests/run-in-machine.nix {};
|
||||
tests.samba = callTest tests/samba.nix {};
|
||||
tests.sddm = callTest tests/sddm.nix {};
|
||||
tests.sddm = callSubTests tests/sddm.nix {};
|
||||
tests.simple = callTest tests/simple.nix {};
|
||||
tests.smokeping = callTest tests/smokeping.nix {};
|
||||
tests.taskserver = callTest tests/taskserver.nix {};
|
||||
|
|
|
@ -8,25 +8,27 @@ import ./make-test.nix ({ pkgs, ...} :
|
|||
|
||||
machine = { lib, ... }: {
|
||||
imports = [ ./common/user-account.nix ];
|
||||
virtualisation.memorySize = 1024;
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.sddm = {
|
||||
enable = true;
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "alice";
|
||||
};
|
||||
};
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
services.xserver.desktopManager.default = "plasma5";
|
||||
virtualisation.writableStore = false; # FIXME
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }:
|
||||
let xdo = "${pkgs.xdotool}/bin/xdotool"; in
|
||||
''
|
||||
enableOCR = true;
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
user = nodes.machine.config.users.extraUsers.alice;
|
||||
xdo = "${pkgs.xdotool}/bin/xdotool";
|
||||
in ''
|
||||
startAll;
|
||||
|
||||
# Wait for display manager to start
|
||||
$machine->waitForText(qr/${user.description}/);
|
||||
$machine->screenshot("sddm");
|
||||
|
||||
# Log in
|
||||
$machine->sendChars("${user.password}\n");
|
||||
$machine->waitForFile("/home/alice/.Xauthority");
|
||||
$machine->succeed("xauth merge ~alice/.Xauthority");
|
||||
|
||||
|
|
|
@ -1,26 +1,66 @@
|
|||
import ./make-test.nix ({ pkgs, ...} : {
|
||||
name = "sddm";
|
||||
{ system ? builtins.currentSystem }:
|
||||
|
||||
machine = { lib, ... }: {
|
||||
imports = [ ./common/user-account.nix ];
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.windowManager.default = "icewm";
|
||||
services.xserver.windowManager.icewm.enable = true;
|
||||
services.xserver.desktopManager.default = "none";
|
||||
with import ../lib/testing.nix { inherit system; };
|
||||
|
||||
let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
tests = {
|
||||
default = {
|
||||
name = "sddm";
|
||||
|
||||
machine = { lib, ... }: {
|
||||
imports = [ ./common/user-account.nix ];
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.windowManager.default = "icewm";
|
||||
services.xserver.windowManager.icewm.enable = true;
|
||||
services.xserver.desktopManager.default = "none";
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
user = nodes.machine.config.users.extraUsers.alice;
|
||||
in ''
|
||||
startAll;
|
||||
$machine->waitForText(qr/ALICE/);
|
||||
$machine->screenshot("sddm");
|
||||
$machine->sendChars("${user.password}\n");
|
||||
$machine->waitForFile("/home/alice/.Xauthority");
|
||||
$machine->succeed("xauth merge ~alice/.Xauthority");
|
||||
$machine->waitForWindow("^IceWM ");
|
||||
'';
|
||||
};
|
||||
|
||||
autoLogin = {
|
||||
name = "sddm-autologin";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ ttuegel ];
|
||||
};
|
||||
|
||||
machine = { lib, ... }: {
|
||||
imports = [ ./common/user-account.nix ];
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.sddm = {
|
||||
enable = true;
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "alice";
|
||||
};
|
||||
};
|
||||
services.xserver.windowManager.default = "icewm";
|
||||
services.xserver.windowManager.icewm.enable = true;
|
||||
services.xserver.desktopManager.default = "none";
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: ''
|
||||
startAll;
|
||||
$machine->waitForFile("/home/alice/.Xauthority");
|
||||
$machine->succeed("xauth merge ~alice/.Xauthority");
|
||||
$machine->waitForWindow("^IceWM ");
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript = { nodes, ... }: let
|
||||
user = nodes.machine.config.users.extraUsers.alice;
|
||||
in ''
|
||||
startAll;
|
||||
$machine->waitForText(qr/ALICE/);
|
||||
$machine->screenshot("sddm");
|
||||
$machine->sendChars("${user.password}\n");
|
||||
$machine->waitForFile("/home/alice/.Xauthority");
|
||||
$machine->succeed("xauth merge ~alice/.Xauthority");
|
||||
$machine->waitForWindow("^IceWM ");
|
||||
'';
|
||||
})
|
||||
in
|
||||
lib.mapAttrs (lib.const makeTest) tests
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ stdenv, makeQtWrapper, fetchFromGitHub, fetchpatch
|
||||
{ stdenv, lib, makeQtWrapper, fetchFromGitHub, fetchpatch
|
||||
, cmake, extra-cmake-modules, pkgconfig, libxcb, libpthreadstubs, lndir
|
||||
, libXdmcp, libXau, qtbase, qtdeclarative, qttools, pam, systemd
|
||||
, themes
|
||||
|
@ -28,10 +28,12 @@ let
|
|||
nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qttools ];
|
||||
|
||||
buildInputs = [
|
||||
libxcb libpthreadstubs libXdmcp libXau qtbase pam systemd
|
||||
libxcb libpthreadstubs libXdmcp libXau pam systemd
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ qtdeclarative ];
|
||||
propagatedBuildInputs = [
|
||||
qtbase qtdeclarative
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCONFIG_FILE=/etc/sddm.conf"
|
||||
|
@ -80,6 +82,22 @@ stdenv.mkDerivation {
|
|||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
propagated=
|
||||
for i in $unwrapped $themes; do
|
||||
findInputs $i propagated propagated-user-env-packages
|
||||
if [ -z "$crossConfig" ]; then
|
||||
findInputs $i propagated propagated-native-build-inputs
|
||||
else
|
||||
findInputs $i propagated propagated-build-inputs
|
||||
fi
|
||||
done
|
||||
|
||||
for pkg in $propagated; do
|
||||
addToSearchPath RUNTIME_XDG_DATA_DIRS "$pkg/share"
|
||||
addToSearchPath RUNTIME_XDG_CONFIG_DIRS "$pkg/etc/xdg"
|
||||
done
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
makeQtWrapper "$unwrapped/bin/sddm" "$out/bin/sddm"
|
||||
|
||||
mkdir -p "$out/share/sddm"
|
||||
|
|
Loading…
Reference in a new issue