diff options
author | makefu <github@syntax-fehler.de> | 2016-06-23 17:04:07 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2016-06-23 17:04:07 +0200 |
commit | 271a59b1d6222f7336fac427631ee5bb569a000e (patch) | |
tree | 804b845cebb530001e79b16ddcb70d2d12d8c7f5 /lass/2configs/power-action.nix | |
parent | d5e0dcccd074d7e63cfa7fff35782cb92c101270 (diff) | |
parent | a8dcedbb99151ce396d58573f339fa34d7537fa1 (diff) |
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'lass/2configs/power-action.nix')
-rw-r--r-- | lass/2configs/power-action.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lass/2configs/power-action.nix b/lass/2configs/power-action.nix new file mode 100644 index 000000000..0ff8547c7 --- /dev/null +++ b/lass/2configs/power-action.nix @@ -0,0 +1,41 @@ +{ config, pkgs, ... }: + +let + suspend = pkgs.writeDash "suspend" '' + ${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; + charging = false; + action = pkgs.writeDash "suspend-wrapper" '' + /var/setuid-wrappers/sudo ${suspend} + ''; + }; + }; + + users.users.power-action.extraGroups = [ + "audio" + ]; + + security.sudo.extraConfig = '' + ${config.lass.power-action.user.name} ALL= (root) NOPASSWD: ${suspend} + ''; +} |