{ config, pkgs, lib, ... }: { services = { hypridle = { enable = lib.mkIf ( config.home.gui.sessionType == "Hyprland" ) true; settings = { general = { before_sleep_cmd = "${lib.getExe' pkgs.hyprland "hyprctl"} dispatch dpms off"; after_sleep_cmd = "${lib.getExe' pkgs.hyprland "hyprctl"} dispatch dpms on"; }; listener = [ { timeout = 300; on-timeout = "${lib.getExe pkgs.brightnessctl} -s set 10"; on-resume = "${lib.getExe pkgs.brightnessctl} -r"; } { timeout = 600; on-timeout = "${lib.getExe pkgs.hyprlock}"; } { timeout = 900; on-timeout = "${lib.getExe' pkgs.systemd "systemctl"} suspend"; } ]; }; }; }; }