{ 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"; }; listener = [ # battery timers { timeout = "30"; on-timeout = "systemd-ac-power || light -O && light -S 0 && light -s razer/0003:1532:02B6.0003/backlight -S 0"; on-resume = "light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } { timeout = "120"; on-timeout = "systemd-ac-power || light -O && loginctl lock-session && niri msg action power-off-monitors"; on-resume = "light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } { timeout = "300"; on-timeout = "systemd-ac-power || light -O && loginctl lock-session && systemctl suspend"; on-resume = "light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } # ac power timers { timeout = "60"; on-timeout = "systemd-ac-power && light -O && light -S 0 && light -s razer/0003:1532:02B6.0003/backlight -S 0"; on-resume = "light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } { timeout = "180"; on-timeout = "systemd-ac-power && loginctl lock-session"; on-resume = "light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } { timeout = "300"; on-timeout = "systemd-ac-power && light -O && loginctl lock-session && niri msg action power-off-monitors"; on-resume = "light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } { timeout = "900"; on-timeout = "systemd-ac-power && light -O && loginctl lock-session && systemctl suspend"; on-resume = "light -I && light -s razer/0003:1532:02B6.0003/backlight -S 40"; } ]; }; }; }