summaryrefslogtreecommitdiffstats
path: root/krebs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2016-02-06 15:11:30 +0100
committertv <tv@krebsco.de>2016-02-06 15:11:30 +0100
commit23c7c10f5a5ed83dca001d7382e5b89981277f8c (patch)
tree274a199ba7748892a7dfd4cd5f31b0f83985b206 /krebs
parentb2303e081fb1ccc9a0b88f538736045fb2fba14f (diff)
krebs.retiolum.hosts: change type to attrsOf host
Diffstat (limited to 'krebs')
-rw-r--r--krebs/3modules/retiolum.nix46
-rw-r--r--krebs/4lib/types.nix16
-rw-r--r--krebs/Zhosts/Styx10
-rw-r--r--krebs/Zhosts/ThinkArmageddon9
-rw-r--r--krebs/Zhosts/TriBot11
-rw-r--r--krebs/Zhosts/ach11
-rw-r--r--krebs/Zhosts/air11
-rw-r--r--krebs/Zhosts/alarmpi11
-rw-r--r--krebs/Zhosts/albi1011
-rw-r--r--krebs/Zhosts/albi710
-rw-r--r--krebs/Zhosts/almoehi11
-rw-r--r--krebs/Zhosts/alphalabs10
-rw-r--r--krebs/Zhosts/apfull11
-rw-r--r--krebs/Zhosts/bitchctl11
-rw-r--r--krebs/Zhosts/bitchextend11
-rw-r--r--krebs/Zhosts/bitchtop11
-rw-r--r--krebs/Zhosts/bobby11
-rw-r--r--krebs/Zhosts/box10
-rw-r--r--krebs/Zhosts/bridge12
-rw-r--r--krebs/Zhosts/c2ft10
-rw-r--r--krebs/Zhosts/c2fthome10
-rw-r--r--krebs/Zhosts/casino11
-rw-r--r--krebs/Zhosts/cat111
-rw-r--r--krebs/Zhosts/cband11
-rw-r--r--krebs/Zhosts/cd17
-rw-r--r--krebs/Zhosts/cloudkrebs12
-rw-r--r--krebs/Zhosts/darth12
-rw-r--r--krebs/Zhosts/dei11
-rw-r--r--krebs/Zhosts/destroy11
-rw-r--r--krebs/Zhosts/devstar11
-rw-r--r--krebs/Zhosts/echelon12
-rw-r--r--krebs/Zhosts/eigenserv11
-rw-r--r--krebs/Zhosts/elvis12
-rw-r--r--krebs/Zhosts/eulerwalk11
-rw-r--r--krebs/Zhosts/exile9
-rw-r--r--krebs/Zhosts/exitium_mobilis10
-rw-r--r--krebs/Zhosts/falk11
-rw-r--r--krebs/Zhosts/fastpoke12
-rw-r--r--krebs/Zhosts/filebitch11
-rw-r--r--krebs/Zhosts/filepimp11
-rw-r--r--krebs/Zhosts/flap12
-rw-r--r--krebs/Zhosts/foobar11
-rw-r--r--krebs/Zhosts/fuerkrebs10
-rw-r--r--krebs/Zhosts/gum15
-rw-r--r--krebs/Zhosts/heidi11
-rw-r--r--krebs/Zhosts/horisa12
-rw-r--r--krebs/Zhosts/horreum_magnus15
-rw-r--r--krebs/Zhosts/incept13
-rw-r--r--krebs/Zhosts/ire12
-rw-r--r--krebs/Zhosts/ire29
-rw-r--r--krebs/Zhosts/irkel12
-rw-r--r--krebs/Zhosts/juhulian11
-rw-r--r--krebs/Zhosts/k228
-rw-r--r--krebs/Zhosts/kabinett11
-rw-r--r--krebs/Zhosts/kaepsele11
-rw-r--r--krebs/Zhosts/kalle11
-rw-r--r--krebs/Zhosts/karthus10
-rw-r--r--krebs/Zhosts/kebsco11
-rw-r--r--krebs/Zhosts/khackplug11
-rw-r--r--krebs/Zhosts/kheurop12
-rw-r--r--krebs/Zhosts/kiosk12
-rw-r--r--krebs/Zhosts/krebsplug10
-rw-r--r--krebs/Zhosts/kvasir11
-rw-r--r--krebs/Zhosts/laqueus11
-rw-r--r--krebs/Zhosts/linuxatom11
-rw-r--r--krebs/Zhosts/luminos11
-rw-r--r--krebs/Zhosts/machine11
-rw-r--r--krebs/Zhosts/makalu11
-rw-r--r--krebs/Zhosts/mako11
-rw-r--r--krebs/Zhosts/miefda010
-rw-r--r--krebs/Zhosts/minikrebs10
-rw-r--r--krebs/Zhosts/mkdir11
-rw-r--r--krebs/Zhosts/monitor11
-rw-r--r--krebs/Zhosts/mors10
-rw-r--r--krebs/Zhosts/motor12
-rw-r--r--krebs/Zhosts/mu10
-rw-r--r--krebs/Zhosts/muhbaasu13
-rw-r--r--krebs/Zhosts/nomic10
-rw-r--r--krebs/Zhosts/nomic210
-rw-r--r--krebs/Zhosts/nukular11
-rw-r--r--krebs/Zhosts/omo9
-rw-r--r--krebs/Zhosts/pic11
-rw-r--r--krebs/Zhosts/pigstarter13
-rw-r--r--krebs/Zhosts/pike11
-rw-r--r--krebs/Zhosts/pnp11
-rw-r--r--krebs/Zhosts/pornocauster10
-rw-r--r--krebs/Zhosts/prism12
-rw-r--r--krebs/Zhosts/radiotuxmini11
-rw-r--r--krebs/Zhosts/random10
-rw-r--r--krebs/Zhosts/raspafari11
-rw-r--r--krebs/Zhosts/reimae12
-rw-r--r--krebs/Zhosts/rmdir11
-rw-r--r--krebs/Zhosts/robchina11
-rw-r--r--krebs/Zhosts/rockit11
-rw-r--r--krebs/Zhosts/rtjure_debian_oder_so11
-rw-r--r--krebs/Zhosts/rtjure_ras11
-rw-r--r--krebs/Zhosts/rtjure_rdrlab_linkstation11
-rw-r--r--krebs/Zhosts/rubus9
-rw-r--r--krebs/Zhosts/senderechner10
-rw-r--r--krebs/Zhosts/serenity11
-rw-r--r--krebs/Zhosts/seruundroid12
-rw-r--r--krebs/Zhosts/sir_krebs_a_lot11
-rw-r--r--krebs/Zhosts/skirfir11
-rw-r--r--krebs/Zhosts/sleipnir12
-rw-r--r--krebs/Zhosts/smove9
-rw-r--r--krebs/Zhosts/sokrates11
-rw-r--r--krebs/Zhosts/sokrateslaptop11
-rw-r--r--krebs/Zhosts/soundflower10
-rw-r--r--krebs/Zhosts/steve10
-rw-r--r--krebs/Zhosts/stro10
-rw-r--r--krebs/Zhosts/tahoe12
-rw-r--r--krebs/Zhosts/taschenkrebs11
-rw-r--r--krebs/Zhosts/terrapi11
-rw-r--r--krebs/Zhosts/thomasDOTde9
-rw-r--r--krebs/Zhosts/tincdroid9
-rw-r--r--krebs/Zhosts/tmpd11
-rw-r--r--krebs/Zhosts/tpsw11
-rw-r--r--krebs/Zhosts/tsp16
-rw-r--r--krebs/Zhosts/ufo11
-rw-r--r--krebs/Zhosts/uriel11
-rw-r--r--krebs/Zhosts/vault10
-rw-r--r--krebs/Zhosts/vbob9
-rw-r--r--krebs/Zhosts/voyager17
-rw-r--r--krebs/Zhosts/wbob10
-rw-r--r--krebs/Zhosts/wolf10
-rw-r--r--krebs/Zhosts/wooktop11
-rw-r--r--krebs/Zhosts/wry16
-rw-r--r--krebs/Zhosts/wu10
-rw-r--r--krebs/Zhosts/xu13
-rw-r--r--krebs/Zhosts/ytart9
-rw-r--r--krebs/Zhosts/zombiecancer11
131 files changed, 32 insertions, 1476 deletions
diff --git a/krebs/3modules/retiolum.nix b/krebs/3modules/retiolum.nix
index e0e2692a8..08ac96461 100644
--- a/krebs/3modules/retiolum.nix
+++ b/krebs/3modules/retiolum.nix
@@ -1,6 +1,4 @@
{ config, pkgs, lib, ... }:
-
-with builtins;
with lib;
let
cfg = config.krebs.retiolum;
@@ -40,7 +38,7 @@ let
'';
};
- network = mkOption {
+ netname = mkOption {
type = types.str;
default = "retiolum";
description = ''
@@ -65,10 +63,13 @@ let
};
hosts = mkOption {
- type = with types; either package path;
- default = ../Zhosts;
+ type = with types; attrsOf host;
+ default =
+ filterAttrs (_: h: hasAttr cfg.netname h.nets) config.krebs.hosts;
description = ''
- If a path is given, then it will be used to generate an ad-hoc package.
+ Hosts which should be part of the tinc configuration.
+ Note that these hosts must have a correspondingly named network
+ configured, see <literal>config.krebs.retiolum.netname</literal>.
'';
};
@@ -104,7 +105,7 @@ let
};
imp = {
- environment.systemPackages = [ tinc hosts iproute ];
+ environment.systemPackages = [ tinc iproute ];
networking.extraHosts = retiolumExtraHosts;
@@ -140,17 +141,16 @@ let
tinc = cfg.tincPackage;
- hosts = getAttr (typeOf cfg.hosts) {
- package = cfg.hosts;
- path = pkgs.stdenv.mkDerivation {
- name = "custom-retiolum-hosts";
- src = cfg.hosts;
- installPhase = ''
- mkdir $out
- find . -name .git -prune -o -type f -print0 \
- | xargs -0 cp --target-directory $out
- '';
- };
+ tinc-hosts = pkgs.stdenv.mkDerivation {
+ name = "${cfg.netname}-tinc-hosts";
+ phases = [ "installPhase" ];
+ installPhase = ''
+ mkdir $out
+ ${concatStrings (mapAttrsToList (_: host: ''
+ echo ${shell.escape host.nets.${cfg.netname}.tinc.config} \
+ > $out/${shell.escape host.name}
+ '') cfg.hosts)}
+ '';
};
iproute = cfg.iproutePackage;
@@ -159,7 +159,7 @@ let
{ }
''
generate() {