let # Time in seconds lockAfter = 1200; #screenOffAfter = 1500; suspendAfter = 7200; in { services.hypridle = { enable = true; settings = { general = { before_sleep_cmd = "loginctl lock-session"; after_sleep_cmd = "hyprctl dispatch dpms on"; lock_cmd = "pidof hyprlock || hyprlock"; # Avoid running multiple instances of hyprlock }; listener = [ # Lock { timeout = lockAfter; on-timeout = "loginctl lock-session"; } # Turn off screens TODO still buggy on DP-1 # { # timeout = screenOffAfter; # on-timeout = "hyprctl dispatch dpms off"; # on-resume = "hyprctl dispatch dpms on"; # } # Suspend { timeout = suspendAfter; on-timeout = "systemctl suspend"; # suspend pc } ]; }; }; }