{ 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; }; }