ooknet/modules/home/workstation/hyprland/components/hypridle.nix

39 lines
897 B
Nix

{
inputs',
pkgs,
osConfig,
lib,
config,
...
}: let
inherit (lib) getExe getExe' mkIf;
inherit (osConfig.ooknet.workstation) environment;
dpms = "${getExe' config.wayland.windowManager.hyprland.package "hyprctl"} dispatch dpms";
lock = "${getExe' pkgs.systemd "loginctl"} lock-session";
hyprlock = getExe config.programs.hyprlock.package;
in {
config = mkIf (environment == "hyprland") {
services.hypridle = {
enable = true;
package = inputs'.hypridle.packages.hypridle;
settings = {
general = {
lock_cmd = hyprlock;
before_sleep_cmd = lock;
};
listener = [
{
timeout = 300;
on-timeout = hyprlock;
}
{
timeout = 360;
on-timeout = "${dpms} off";
on-resume = "${dpms} on";
}
];
};
};
};
}