diff --git a/modules/services/screen-locker.nix b/modules/services/screen-locker.nix
index 291416564..844075eee 100644
--- a/modules/services/screen-locker.nix
+++ b/modules/services/screen-locker.nix
@@ -26,6 +26,23 @@ in {
See .
'';
};
+
+ xautolockExtraOptions = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ description = ''
+ Extra command-line arguments to pass to xautolock.
+ '';
+ };
+
+ xssLockExtraOptions = mkOption {
+ type = types.listOf types.str;
+ default = [];
+ description = ''
+ Extra command-line arguments to pass to xss-lock.
+ '';
+ };
+
};
config = mkIf cfg.enable {
@@ -45,7 +62,8 @@ in {
${pkgs.xautolock}/bin/xautolock \
-detectsleep \
-time ${toString cfg.inactiveInterval} \
- -locker '${pkgs.systemd}/bin/loginctl lock-session $XDG_SESSION_ID'
+ -locker '${pkgs.systemd}/bin/loginctl lock-session $XDG_SESSION_ID' \
+ ${concatStringsSep " " cfg.xautolockExtraOptions}
'';
};
};
@@ -53,7 +71,7 @@ in {
# xss-lock will run specified screen locker when the session is locked via loginctl
# can't be started as a systemd service,
# see https://bitbucket.org/raymonad/xss-lock/issues/13/allow-operation-as-systemd-user-unit
- xsession.initExtra = "${pkgs.xss-lock}/bin/xss-lock -- ${cfg.lockCmd} &";
+ xsession.initExtra = "${pkgs.xss-lock}/bin/xss-lock ${concatStringsSep " " cfg.xssLockExtraOptions} -- ${cfg.lockCmd} &";
};
}