diff options
| author | Tim Keller <tjk@tjkeller.xyz> | 2026-06-15 15:29:59 -0500 |
|---|---|---|
| committer | Tim Keller <tjk@tjkeller.xyz> | 2026-06-15 15:29:59 -0500 |
| commit | cba6c3560cf47932e426117c11878db8aebff33d (patch) | |
| tree | 6a2153183bd6fe3e5879c88bc4d54b82ba0ff2e5 | |
| parent | 73bdaa872445403fa6b66124550864f092648f86 (diff) | |
| download | nixos-cba6c3560cf47932e426117c11878db8aebff33d.tar.xz nixos-cba6c3560cf47932e426117c11878db8aebff33d.zip | |
move powerkeys options to option module. enable by default with desktop. only override hibernate key if suspend is disabled (who has a hibernate key?)
| -rw-r--r-- | archetypes/profiles/desktop/default.nix | 7 | ||||
| -rw-r--r-- | nixos/powerkeys.nix | 17 | ||||
| -rw-r--r-- | nixos/suspend.nix | 3 |
3 files changed, 19 insertions, 8 deletions
diff --git a/archetypes/profiles/desktop/default.nix b/archetypes/profiles/desktop/default.nix index d64ded5..5a3443d 100644 --- a/archetypes/profiles/desktop/default.nix +++ b/archetypes/profiles/desktop/default.nix @@ -32,13 +32,14 @@ }; services = { + _geoclue2.enable = mkDesktop true; + _pipewire.enable = mkDesktop true; + _printing.enable = mkDesktop true; xserver = { windowManager._awesome.enable = mkDesktop true; enableTearFree = mkDesktop true; }; - _geoclue2.enable = mkDesktop true; - _pipewire.enable = mkDesktop true; - _printing.enable = mkDesktop true; + logind._safePowerKey.enable = mkDesktop true; openssh = { enable = mkDesktop true; settings.X11Forwarding = mkDesktop true; diff --git a/nixos/powerkeys.nix b/nixos/powerkeys.nix index 6ec6b4c..e7c6275 100644 --- a/nixos/powerkeys.nix +++ b/nixos/powerkeys.nix @@ -1,7 +1,14 @@ -{ - services.logind.settings.Login = { - HandleHibernateKey = "suspend"; - HandlePowerKey = "ignore"; - HandlePowerKeyLongPress = "poweroff"; +{ lib, config, ... }: let + cfg = config.services.logind._safePowerKey; +in { + options.services.logind._safePowerKey = { + enable = lib.mkEnableOption "do not immediately shutdown when powerkey is pressed"; + }; + + config = lib.mkIf config.enable = { + services.logind.settings.Login = { + HandlePowerKey = "ignore"; # Allow for powerkey to activate power script + HandlePowerKeyLongPress = "poweroff"; + }; }; } diff --git a/nixos/suspend.nix b/nixos/suspend.nix index 11404de..0e719ab 100644 --- a/nixos/suspend.nix +++ b/nixos/suspend.nix @@ -14,5 +14,8 @@ in { unitConfig.DefaultDependencies = "no"; }; }) ["sleep" "suspend" "hibernate" "hybrid-sleep"]); + + # Hibernate key => suspend + services.logind.settings.Login.HandleHibernateKey = "suspend"; }; } |
