nix-config/dots/.config/hypr/hypridle.conf.nix
2025-11-09 21:48:11 +01:00

35 lines
820 B
Nix

{
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
inherit (builtins) concatStringsSep;
cfg = config.horseman.dots.hypr.hypridle;
username = config.horseman.username;
hypr = config.horseman.wm.hyprland.config;
in {
options = {
horseman.dots.hypr.hypridle = {
enable = mkEnableOption "~/.config/hypr/hypridle.conf";
};
};
config = mkIf cfg.enable {
home-manager.users.${username}.xdg.configFile."hypr/hypridle.conf".text = ''
general {
lock_cmd = ${hypr.sleep.lockCommand}
}
${concatStringsSep "\n\n" (map (lis: ''
listener {
timeout = ${toString lis.timeout}
on-timeout = ${lis.onTimeout}
on-resume = ${lis.onResume}
}
'')
hypr.sleep.listeners)}
'';
};
}