stockholm/lass/2configs/power-action.nix

46 lines
923 B
Nix
Raw Normal View History

2016-06-18 19:53:44 +00:00
{ 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}"
'';
2016-06-18 19:53:44 +00:00
in {
2016-07-26 19:36:47 +00:00
krebs.power-action = {
2016-06-18 19:53:44 +00:00
enable = true;
plans.low-battery = {
upperLimit = 10;
lowerLimit = 15;
charging = false;
action = pkgs.writeDash "warn-low-battery" ''
${speak "power level low"}
'';
};
2016-06-18 19:53:44 +00:00
plans.suspend = {
upperLimit = 10;
lowerLimit = 0;
charging = false;
action = pkgs.writeDash "suspend-wrapper" ''
2017-03-14 10:30:06 +00:00
/run/wrappers/bin/sudo ${suspend}
2016-06-18 19:53:44 +00:00
'';
};
2016-08-02 13:00:15 +00:00
user = "lass";
2016-06-18 19:53:44 +00:00
};
2021-06-03 19:33:42 +00:00
users.users.power-action = {
isNormalUser = true;
extraGroups = [
"audio"
];
};
2016-06-18 19:53:44 +00:00
security.sudo.extraConfig = ''
2016-08-02 13:00:15 +00:00
${config.krebs.power-action.user} ALL= (root) NOPASSWD: ${suspend}
2016-06-18 19:53:44 +00:00
'';
}