mirror of
https://github.com/nix-community/home-manager
synced 2024-08-21 19:46:30 +02:00
* 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
37 lines
1.1 KiB
Nix
37 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;
|
|
};
|
|
}
|