home-manager/tests/modules/services/screen-locker/basic-configuration.nix
Josh Robson Chase e4df31dcea
screen-locker: Make xautolock optional, reorganize options (#2343)
* screen-locker: Make xautolock optional, reorganize options

xautolock isn't really needed to trigger xss-lock on the basis of time
since the built-in screensaver functionality of X serves as one of the
event sources for xss-lock. Keeping it around and defaulting to
"enabled" to avoid unexpected breakage.

Also shuffled around the options to submodules for xss-lock and
xautolock to get rid of prefixes in option names and to make
enableDetectSleep a bit clearer.

* screen-locker: update maintainership

* tests/screen-locker: Stub i3lock and xss-lock

* screen-locker: add package options for xss-lock and xautolock
2021-10-05 12:58:25 -04:00

30 lines
862 B
Nix

{ config, pkgs, ... }:
{
config = {
services.screen-locker = {
enable = true;
inactiveInterval = 5;
lockCmd = "${pkgs.i3lock}/bin/i3lock -n -c AA0000";
xss-lock = { extraOptions = [ "-test" ]; };
xautolock = {
enable = true;
detectSleep = true;
extraOptions = [ "-test" ];
};
};
test.stubs.i3lock = { };
test.stubs.xss-lock = { };
nmt.script = ''
xssService=home-files/.config/systemd/user/xss-lock.service
xautolockService=home-files/.config/systemd/user/xautolock-session.service
assertFileExists $xssService
assertFileRegex $xssService 'ExecStart=.*/bin/xss-lock.*-test.*i3lock -n -c AA0000'
assertFileExists $xautolockService
assertFileRegex $xautolockService 'ExecStart=.*/bin/xautolock.*-time 5.*-detectsleep.*-test.*'
'';
};
}