From 53505743c87d80367011b77011a8d135d8bf73d2 Mon Sep 17 00:00:00 2001 From: hektor Date: Sat, 22 Aug 2026 16:54:16 +0200 Subject: [PATCH] feat(desktop): add 'swayidle' module --- home/modules/desktop/niri/default.nix | 2 ++ home/modules/swayidle/default.nix | 31 +++++++++++++++++++++++++++ modules/desktop/logind.nix | 6 +----- 3 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 home/modules/swayidle/default.nix diff --git a/home/modules/desktop/niri/default.nix b/home/modules/desktop/niri/default.nix index 58351a2..9ca4110 100644 --- a/home/modules/desktop/niri/default.nix +++ b/home/modules/desktop/niri/default.nix @@ -11,6 +11,7 @@ ../../fuzzel ../../mako ../../shikane + ../../swayidle ../../waybar ]; @@ -21,6 +22,7 @@ fuzzel.enable = lib.mkDefault true; mako.enable = lib.mkDefault true; shikane.enable = lib.mkDefault true; + swayidle.enable = lib.mkDefault true; waybar.enable = lib.mkDefault true; home = { diff --git a/home/modules/swayidle/default.nix b/home/modules/swayidle/default.nix new file mode 100644 index 0000000..036059e --- /dev/null +++ b/home/modules/swayidle/default.nix @@ -0,0 +1,31 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.swayidle; +in +{ + options.swayidle = { + enable = lib.mkEnableOption "swayidle"; + timeout = lib.mkOption { + type = lib.types.ints.positive; + default = 900; + }; + }; + + config = lib.mkIf cfg.enable { + services.swayidle = { + enable = true; + timeouts = [ + { + inherit (cfg) timeout; + command = "${lib.getExe' pkgs.systemd "systemctl"} suspend"; + } + ]; + }; + }; +} diff --git a/modules/desktop/logind.nix b/modules/desktop/logind.nix index dfb78ed..d8f3e8e 100644 --- a/modules/desktop/logind.nix +++ b/modules/desktop/logind.nix @@ -4,10 +4,6 @@ options.desktop.logind.enable = lib.mkEnableOption "logind desktop settings"; config = lib.mkIf config.desktop.logind.enable { - services.logind.settings.Login = { - HandleLidSwitch = "suspend"; - IdleAction = "suspend"; - IdleActionSec = 1800; - }; + services.logind.settings.Login.HandleLidSwitch = "suspend"; }; }