summaryrefslogtreecommitdiffstats
path: root/lass
diff options
context:
space:
mode:
Diffstat (limited to 'lass')
-rw-r--r--lass/1systems/helios.nix2
-rw-r--r--lass/2configs/power-action.nix4
-rw-r--r--lass/3modules/default.nix1
-rw-r--r--lass/3modules/power-action.nix97
4 files changed, 3 insertions, 101 deletions
diff --git a/lass/1systems/helios.nix b/lass/1systems/helios.nix
index 5f161d731..53026a6fb 100644
--- a/lass/1systems/helios.nix
+++ b/lass/1systems/helios.nix
@@ -58,7 +58,7 @@ with config.krebs.lib;
# };
#}
{
- lass.power-action.battery = "BAT1";
+ krebs.power-action.battery = "BAT1";
}
];
diff --git a/lass/2configs/power-action.nix b/lass/2configs/power-action.nix
index 0ff8547c7..133966498 100644
--- a/lass/2configs/power-action.nix
+++ b/lass/2configs/power-action.nix
@@ -11,7 +11,7 @@ let
'';
in {
- lass.power-action = {
+ krebs.power-action = {
enable = true;
plans.low-battery = {
upperLimit = 30;
@@ -36,6 +36,6 @@ in {
];
security.sudo.extraConfig = ''
- ${config.lass.power-action.user.name} ALL= (root) NOPASSWD: ${suspend}
+ ${config.krebs.power-action.user.name} ALL= (root) NOPASSWD: ${suspend}
'';
}
diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix
index 6a3b41ca4..60370b230 100644
--- a/lass/3modules/default.nix
+++ b/lass/3modules/default.nix
@@ -4,7 +4,6 @@ _:
./ejabberd
./folderPerms.nix
./mysql-backup.nix
- ./power-action.nix
./umts.nix
./urxvtd.nix
./wordpress_nginx.nix
diff --git a/lass/3modules/power-action.nix b/lass/3modules/power-action.nix
deleted file mode 100644
index 30875c9a9..000000000
--- a/lass/3modules/power-action.nix
+++ /dev/null
@@ -1,97 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with config.krebs.lib;
-
-let
- cfg = config.lass.power-action;
-
- out = {
- options.lass.power-action = api;
- config = lib.mkIf cfg.enable imp;
- };
-
- api = {
- enable = mkEnableOption "power-action";
- battery = mkOption {
- type = types.str;
- default = "BAT0";
- };
- user = mkOption {
- type = types.user;
- default = {
- name = "power-action";
- };
- };
- startAt = mkOption {
- type = types.str;
- default = "*:0/1";
- };
- plans = mkOption {
- type = with types; attrsOf (submodule {
- options = {
- charging = mkOption {
- type = nullOr bool;
- default = null;
- description = ''
- check for charging status.
- null = don't care
- true = only if system is charging
- false = only if system is discharging
- '';
- };
- upperLimit = mkOption {
- type = int;
- };
- lowerLimit = mkOption {
- type = int;
- };
- action = mkOption {
- type = path;
- };
- };
- });
- };
- };
-
- imp = {
- systemd.services.power-action = {
- serviceConfig = rec {
- ExecStart = startScript;
- User = cfg.user.name;
- };
- startAt = cfg.startAt;
- };
- users.users.${cfg.user.name} = {
- inherit (cfg.user) name uid;
- };
- };
-
- startScript = pkgs.writeDash "power-action" ''
- set -euf
-
- power="$(${powerlvl})"
- state="$(${state})"
- ${concatStringsSep "\n" (mapAttrsToList writeRule cfg.plans)}
- '';
- charging_check = plan:
- if (plan.charging == null) then "" else
- if plan.charging
- then ''&& [ "$state" = "true" ]''
- else ''&& ! [ "$state" = "true" ]''
- ;
-
- writeRule = _: plan:
- "if [ $power -ge ${toString plan.lowerLimit} ] && [ $power -le ${toString plan.upperLimit} ] ${charging_check plan}; then ${plan.action}; fi";
-
- powerlvl = pkgs.writeDash "powerlvl" ''
- cat /sys/class/power_supply/${cfg.battery}/capacity
- '';
-
- state = pkgs.writeDash "state" ''
- if [ "$(cat /sys/class/power_supply/${cfg.battery}/status)" = "Discharging" ]
- then echo "false"
- else echo "true"
- fi
- '';
-
-in out