{ config, pkgs, lib, inputs, ... }: let # inputs system = pkgs.stdenv.hostPlatform.system; hypridle = inputs.hypridle.packages.${system}; in { config = lib.mkIf config.desktop.enable { home-manager.users.${config.user} = { services.hypridle = { enable = true; package = hypridle.hypridle; settings = { general = { lock_cmd = "pidof hyprlock || hyprlock"; before_sleep_cmd = "loginctl lock-session"; after_sleep_cmd = "hyprctl dispatch dpms on"; ignore_dbus_inhibit = false; }; listener = [ # dim screen { timeout = 150; on-timeout = "brightnessctl -s set 10"; on-resume = "brightnessctl -r"; } # dim keyboard backlight { timeout = 150; on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; on-resume = "brightnessctl -rd rgb:kbd_backlight"; } # lock { timeout = 300; on-timeout = "loginctl lock-session"; } # turn off screen { timeout = 350; on-timeout = "hyprctl dispatch dpms off"; on-resume = "hyprctl dispatch dpms on"; } ]; }; }; }; }; }