home-manager/tests/modules/services/screen-locker/moved-options.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

36 lines
1.1 KiB
Nix

{ config, pkgs, options, lib, ... }:
{
config = {
services.screen-locker = {
enable = true;
inactiveInterval = 5;
lockCmd = "${pkgs.i3lock}/bin/i3lock -n -c AA0000";
xssLockExtraOptions = [ "-test" ];
xautolockExtraOptions = [ "-test" ];
enableDetectSleep = true;
};
test.stubs.i3lock = { };
test.stubs.xss-lock = { };
# Use the same verification script as the basic configuration. The result
# with the old options should be identical.
nmt.script = (import ./basic-configuration.nix {
inherit config pkgs;
}).config.nmt.script;
test.asserts.warnings.expected = with lib;
let
renamed = {
xssLockExtraOptions = "xss-lock.extraOptions";
xautolockExtraOptions = "xautolock.extraOptions";
enableDetectSleep = "xautolock.detectSleep";
};
in mapAttrsToList (old: new:
builtins.replaceStrings [ "\n" ] [ " " ] ''
The option `services.screen-locker.${old}' defined in
${showFiles options.services.screen-locker.${old}.files}
has been renamed to `services.screen-locker.${new}'.'') renamed;
};
}