screen-locker: add lockCmdEnv option (#6592)

This commit is contained in:
Marijan Petričević
2025-03-12 19:31:54 +07:00
committed by GitHub
parent c630dfa8ab
commit 5871e21c11
3 changed files with 13 additions and 0 deletions

View File

@@ -31,6 +31,14 @@ in {
example = "\${pkgs.i3lock}/bin/i3lock -n -c 000000";
};
lockCmdEnv = lib.mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "XSECURELOCK_PAM_SERVICE=xsecurelock" ];
description =
"Environment variables to source a with the locker command (lockCmd).";
};
inactiveInterval = mkOption {
type = types.int;
default = 10;
@@ -127,6 +135,7 @@ in {
ExecStart = concatStringsSep " "
([ "${cfg.xss-lock.package}/bin/xss-lock" "-s \${XDG_SESSION_ID}" ]
++ cfg.xss-lock.extraOptions ++ [ "-- ${cfg.lockCmd}" ]);
Environment = cfg.lockCmdEnv;
Restart = "always";
};
};

View File

@@ -5,6 +5,7 @@
enable = true;
inactiveInterval = 5;
lockCmd = "${pkgs.i3lock}/bin/i3lock -n -c AA0000";
lockCmdEnv = [ "DISPLAY=:0" "XAUTHORITY=/custom/path/.Xauthority" ];
xss-lock = { extraOptions = [ "-test" ]; };
xautolock = {
enable = true;
@@ -19,6 +20,8 @@
assertFileExists $xssService
assertFileRegex $xssService 'ExecStart=.*/bin/xss-lock.*-test.*i3lock -n -c AA0000'
assertFileRegex $xssService 'Environment=DISPLAY=:0'
assertFileRegex $xssService 'Environment=XAUTHORITY=/custom/path/.Xauthority'
assertFileRegex $xssService 'Restart=always'
assertFileExists $xautolockService
assertFileRegex $xautolockService 'ExecStart=.*/bin/xautolock.*-time 5.*-detectsleep.*-test.*'

View File

@@ -5,6 +5,7 @@
enable = true;
inactiveInterval = 5;
lockCmd = "${pkgs.i3lock}/bin/i3lock -n -c AA0000";
lockCmdEnv = [ "DISPLAY=:0" "XAUTHORITY=/custom/path/.Xauthority" ];
xssLockExtraOptions = [ "-test" ];
xautolockExtraOptions = [ "-test" ];
enableDetectSleep = true;