3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/nixos/tests/xfce.nix
worldofpeace c95612a5a2 nixos/display-managers/auto: remove
This module allows root autoLogin, so we would break that for users, but
they shouldn't be using it anyways. This gives the impression like auto
is some special display manager, when it's just lightdm and special pam
rules to allow root autoLogin. It was created for NixOS's testing
so I believe this is where it belongs.
2020-01-29 19:05:46 -05:00

47 lines
1.2 KiB
Nix

import ./make-test-python.nix ({ pkgs, ...} : {
name = "xfce";
machine =
{ pkgs, ... }:
{
imports = [
./common/user-account.nix
];
services.xserver.enable = true;
services.xserver.displayManager.lightdm = {
enable = true;
autoLogin = {
enable = true;
user = "alice";
};
};
services.xserver.desktopManager.xfce.enable = true;
hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
virtualisation.memorySize = 1024;
};
testScript = { nodes, ... }: let
user = nodes.machine.config.users.users.alice;
in ''
machine.wait_for_x()
machine.wait_for_file("${user.home}/.Xauthority")
machine.succeed("xauth merge ${user.home}/.Xauthority")
machine.wait_for_window("xfce4-panel")
machine.sleep(10)
# Check that logging in has given the user ownership of devices.
machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
machine.succeed("su - ${user.name} -c 'DISPLAY=:0.0 xfce4-terminal &'")
machine.wait_for_window("Terminal")
machine.sleep(10)
machine.screenshot("screen")
'';
})