35 lines
874 B
Nix
35 lines
874 B
Nix
{ pkgs, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
xbacklightCmd = "${pkgs.xorg.xbacklight}/bin/xbacklight";
|
|
package = pkgs.writeScriptBin "xidlehook" ''
|
|
${pkgs.xidlehook}/bin/xidlehook --detect-sleep "$@"
|
|
'';
|
|
lightLevel = 10;
|
|
saveLightLevel = "${xbacklightCmd} -get > /run/user/$UID/xbacklight_v";
|
|
lowerLight = "${xbacklightCmd} -set ${toString lightLevel}";
|
|
resetLight =
|
|
"${xbacklightCmd} -set $(</run/user/$UID/xbacklight_v) || ${xbacklightCmd} -set 100";
|
|
in
|
|
{
|
|
services.xidlehook = {
|
|
inherit package;
|
|
enable = true;
|
|
# not-when-audio = true;
|
|
not-when-fullscreen = true;
|
|
timers = [
|
|
{
|
|
command = "${saveLightLevel} && ${lowerLight}";
|
|
canceller = resetLight;
|
|
delay = 60;
|
|
}
|
|
{
|
|
command = "${pkgs.lockscreen}/bin/lockscreen";
|
|
canceller = resetLight;
|
|
delay = 120;
|
|
}
|
|
];
|
|
};
|
|
}
|