From b408721046b0c84047d25f54764775d32264906d Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 18 Jun 2016 21:53:44 +0200 Subject: l 2: add power-action.nix --- lass/2configs/power-action.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lass/2configs/power-action.nix (limited to 'lass/2configs/power-action.nix') diff --git a/lass/2configs/power-action.nix b/lass/2configs/power-action.nix new file mode 100644 index 000000000..ca4b2afe8 --- /dev/null +++ b/lass/2configs/power-action.nix @@ -0,0 +1,23 @@ +{ config, pkgs, ... }: + +let + suspend = pkgs.writeDash "suspend" '' + ${pkgs.systemd}/bin/systemctl suspend + ''; + +in { + lass.power-action = { + enable = true; + plans.suspend = { + upperLimit = 10; + lowerLimit = 0; + charging = false; + action = pkgs.writeDash "suspend-wrapper" '' + /var/setuid-wrappers/sudo ${suspend} + ''; + }; + }; + security.sudo.extraConfig = '' + ${config.lass.power-action.user.name} ALL= (root) NOPASSWD: ${suspend} + ''; +} -- cgit v1.2.3 From e37ac8ecd8dc7282953e83994dc6c4e3c78b7a85 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 19 Jun 2016 00:27:45 +0200 Subject: l 2 power-action: add low battery warning --- lass/2configs/power-action.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'lass/2configs/power-action.nix') diff --git a/lass/2configs/power-action.nix b/lass/2configs/power-action.nix index ca4b2afe8..0ff8547c7 100644 --- a/lass/2configs/power-action.nix +++ b/lass/2configs/power-action.nix @@ -5,9 +5,22 @@ let ${pkgs.systemd}/bin/systemctl suspend ''; + speak = text: + pkgs.writeDash "speak" '' + ${pkgs.espeak}/bin/espeak -v +whisper -s 110 "${text}" + ''; + in { lass.power-action = { enable = true; + plans.low-battery = { + upperLimit = 30; + lowerLimit = 25; + charging = false; + action = pkgs.writeDash "warn-low-battery" '' + ${speak "power level low"} + ''; + }; plans.suspend = { upperLimit = 10; lowerLimit = 0; @@ -17,6 +30,11 @@ in { ''; }; }; + + users.users.power-action.extraGroups = [ + "audio" + ]; + security.sudo.extraConfig = '' ${config.lass.power-action.user.name} ALL= (root) NOPASSWD: ${suspend} ''; -- cgit v1.2.3