From 98ddfab6d6eb53972d8dcc2be93237aa7cf4112c Mon Sep 17 00:00:00 2001 From: Christoph Hollizeck Date: Sat, 2 Nov 2024 08:51:51 +0100 Subject: [PATCH] hypridle: init --- .../nixos/desktop/addons/hypridle/default.nix | 45 +++++++++++++++++++ modules/nixos/desktop/hyprland/default.nix | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 modules/nixos/desktop/addons/hypridle/default.nix diff --git a/modules/nixos/desktop/addons/hypridle/default.nix b/modules/nixos/desktop/addons/hypridle/default.nix new file mode 100644 index 0000000..2f2e99c --- /dev/null +++ b/modules/nixos/desktop/addons/hypridle/default.nix @@ -0,0 +1,45 @@ +{ + config, + lib, + namespace, + ... +}: +let + inherit (lib) mkIf mkEnableOption; + + cfg = config.${namespace}.desktop.addons.hypridle; + + username = config.${namespace}.user.name; +in +{ + options.${namespace}.desktop.addons.hypridle = { + enable = mkEnableOption "Enable HyprIdle"; + }; + + config = mkIf cfg.enable { + snowfallorg.users.${username}.home.config = { + services.hypridle = { + enable = true; + settings = { + general = { + after_sleep_cmd = "hyprctl dispatch dpms on"; + ignore_dbus_inhibit = false; + lock_cmd = "hyprlock"; + }; + + listener = [ + { + timeout = 900; + on-timeout = "hyprlock"; + } + { + timeout = 1200; + on-timeout = "hyprctl dispatch dpms off"; + on-resume = "hyprctl dispatch dpms on"; + } + ]; + }; + }; + }; + }; +} diff --git a/modules/nixos/desktop/hyprland/default.nix b/modules/nixos/desktop/hyprland/default.nix index 7f32dfa..319c731 100644 --- a/modules/nixos/desktop/hyprland/default.nix +++ b/modules/nixos/desktop/hyprland/default.nix @@ -80,11 +80,11 @@ in ${namespace} = { desktop.addons = { - waybar = enabled; rofi = { enable = true; package = pkgs.rofi-wayland-unwrapped; }; + hypridle = enabled; hyprlock = enabled; hyprpaper = enabled; };