{ inputs, ... }: { services.hypridle = { enable = true; package = inputs.hypridle.packages.x86_64-linux.default; settings = { general = { lock_cmd = "pidof hyprlock || hyprlock"; before_sleep_cmd = "loginctl lock-session"; }; # battery timers listener = [ { timeout = "30"; on-timeout = "systemd-ac-power || light -S 0 && light -s razer/0003:1532:02B6.0003/backlight -S 0"; on-resume = "systemd-ac-power || light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } { timeout = "120"; on-timeout = "systemd-ac-power || loginctl lock-session && niri msg action power-off-monitors"; } { timeout = "300"; on-timeout = "systemd-ac-power || loginctl lock-session && systemctl suspend"; } # ac power timers { timeout = "60"; on-timeout = "systemd-ac-power && light -S 0 && light -s razer/0003:1532:02B6.0003/backlight -S 0"; on-resume = "systemd-ac-power && light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } { timeout = "180"; on-timeout = "systemd-ac-power && loginctl lock-session"; } { timeout = "300"; on-timeout = "systemd-ac-power && loginctl lock-session && niri msg action power-off-monitors"; } { timeout = "900"; on-timeout = "systemd-ac-power && loginctl lock-session && systemctl suspend"; } ]; }; }; }