dotfiles-nix/modules/programs/hypr/hypridle.nix

57 lines
1.4 KiB
Nix
Raw Normal View History

2025-01-21 02:43:35 +00:00
{ 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";
}
];
};
};
};
};
}