mirror of
https://github.com/nix-community/home-manager
synced 2024-11-27 05:29:46 +01:00
screen-locker: Add option to configure x screensaver cycle (#2853)
Some screen lockers which will be used with xss-lock might require to set x screensaver timeout with cycle.
This commit is contained in:
parent
3549f5d0f5
commit
a985e711e8
4 changed files with 26 additions and 5 deletions
4
.github/CODEOWNERS
vendored
4
.github/CODEOWNERS
vendored
|
@ -378,8 +378,8 @@
|
||||||
/modules/services/redshift-gammastep @rycee @petabyteboy @thiagokokada
|
/modules/services/redshift-gammastep @rycee @petabyteboy @thiagokokada
|
||||||
/tests/modules/redshift-gammastep @thiagokokada
|
/tests/modules/redshift-gammastep @thiagokokada
|
||||||
|
|
||||||
/modules/services/screen-locker.nix @jrobsonchase
|
/modules/services/screen-locker.nix @jrobsonchase @rszamszur
|
||||||
/tests/modules/services/screen-locker @jrobsonchase
|
/tests/modules/services/screen-locker @jrobsonchase @rszamszur
|
||||||
|
|
||||||
/modules/services/status-notifier-watcher.nix @pltanton
|
/modules/services/status-notifier-watcher.nix @pltanton
|
||||||
|
|
||||||
|
|
|
@ -247,4 +247,10 @@
|
||||||
github = "sebtm";
|
github = "sebtm";
|
||||||
githubId = 17243347;
|
githubId = 17243347;
|
||||||
};
|
};
|
||||||
|
rszamszur = {
|
||||||
|
name = "Radosław Szamszur";
|
||||||
|
email = "radoslawszamszur@gmail.com";
|
||||||
|
github = "rszamszur";
|
||||||
|
githubId = 10353018;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,6 +94,16 @@ in {
|
||||||
Extra command-line arguments to pass to <command>xss-lock</command>.
|
Extra command-line arguments to pass to <command>xss-lock</command>.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
screensaverCycle = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 600;
|
||||||
|
description = ''
|
||||||
|
X server's screensaver cycle value expresed as seconds.
|
||||||
|
This will be used with <command>xset</command> to configure
|
||||||
|
the cycle along with timeout.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -122,7 +132,9 @@ in {
|
||||||
}
|
}
|
||||||
(mkIf (!cfg.xautolock.enable) {
|
(mkIf (!cfg.xautolock.enable) {
|
||||||
systemd.user.services.xss-lock.Service.ExecStartPre =
|
systemd.user.services.xss-lock.Service.ExecStartPre =
|
||||||
"${pkgs.xorg.xset}/bin/xset s ${toString (cfg.inactiveInterval * 60)}";
|
"${pkgs.xorg.xset}/bin/xset s ${toString (cfg.inactiveInterval * 60)} ${
|
||||||
|
toString cfg.xss-lock.screensaverCycle
|
||||||
|
}";
|
||||||
})
|
})
|
||||||
(mkIf cfg.xautolock.enable {
|
(mkIf cfg.xautolock.enable {
|
||||||
systemd.user.services.xautolock-session = {
|
systemd.user.services.xautolock-session = {
|
||||||
|
|
|
@ -6,7 +6,10 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
inactiveInterval = 5;
|
inactiveInterval = 5;
|
||||||
lockCmd = "${pkgs.i3lock}/bin/i3lock -n -c AA0000";
|
lockCmd = "${pkgs.i3lock}/bin/i3lock -n -c AA0000";
|
||||||
xss-lock = { extraOptions = [ "-test" ]; };
|
xss-lock = {
|
||||||
|
extraOptions = [ "-test" ];
|
||||||
|
screensaverCycle = 5;
|
||||||
|
};
|
||||||
xautolock = { enable = false; };
|
xautolock = { enable = false; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -18,7 +21,7 @@
|
||||||
|
|
||||||
assertFileExists $xssService
|
assertFileExists $xssService
|
||||||
assertFileRegex $xssService 'ExecStart=.*/bin/xss-lock.*-test.*i3lock -n -c AA0000'
|
assertFileRegex $xssService 'ExecStart=.*/bin/xss-lock.*-test.*i3lock -n -c AA0000'
|
||||||
assertFileRegex $xssService 'ExecStartPre=.*/xset s 300'
|
assertFileRegex $xssService 'ExecStartPre=.*/xset s 300 5'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue