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/buildbot-standalone.nix9
-rw-r--r--lass/2configs/git.nix2
-rw-r--r--lass/2configs/power-action.nix5
-rw-r--r--lass/3modules/default.nix1
-rw-r--r--lass/3modules/power-action.nix97
6 files changed, 12 insertions, 104 deletions
diff --git a/lass/1systems/helios.nix b/lass/1systems/helios.nix
index 5f161d73..53026a6f 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/buildbot-standalone.nix b/lass/2configs/buildbot-standalone.nix
index 5afb2368..766fd715 100644
--- a/lass/2configs/buildbot-standalone.nix
+++ b/lass/2configs/buildbot-standalone.nix
@@ -3,8 +3,13 @@
with config.krebs.lib;
let
+ sshHostConfig = pkgs.writeText "ssh-config" ''
+ ControlMaster auto
+ ControlPath /tmp/%u_sshmux_%r@%h:%p
+ ControlPersist 4h
+ '';
sshWrapper = pkgs.writeDash "ssh-wrapper" ''
- ${pkgs.openssh}/bin/ssh -i ${shell.escape config.lass.build-ssh-privkey.path} "$@"
+ ${pkgs.openssh}/bin/ssh -F ${sshHostConfig} -i ${shell.escape config.lass.build-ssh-privkey.path} "$@"
'';
in {
@@ -90,7 +95,7 @@ in {
method=build \
system={}".format(i)])
- for i in [ "pornocauster", "wry", "vbob", "wbob", "shoney" ]:
+ for i in [ "x", "wry", "vbob", "wbob", "shoney" ]:
addShell(f,name="build-{}".format(i),env=env_makefu,
command=nixshell + \
["make \
diff --git a/lass/2configs/git.nix b/lass/2configs/git.nix
index 9a1cab17..ab445071 100644
--- a/lass/2configs/git.nix
+++ b/lass/2configs/git.nix
@@ -80,7 +80,7 @@ let
perm = push "refs/*" [ non-fast-forward create delete merge ];
} ++
optional repo.public {
- user = [ tv makefu ];
+ user = attrValues config.krebs.users;
repo = [ repo ];
perm = fetch;
} ++
diff --git a/lass/2configs/power-action.nix b/lass/2configs/power-action.nix
index 0ff8547c..c83dc80d 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;
@@ -29,6 +29,7 @@ in {
/var/setuid-wrappers/sudo ${suspend}
'';
};
+ user = "lass";
};
users.users.power-action.extraGroups = [
@@ -36,6 +37,6 @@ in {
];
security.sudo.extraConfig = ''
- ${config.lass.power-action.user.name} ALL= (root) NOPASSWD: ${suspend}
+ ${config.krebs.power-action.user} ALL= (root) NOPASSWD: ${suspend}
'';
}
diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix
index 6a3b41ca..60370b23 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 30875c9a..00000000
--- 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