diff options
author | tv <tv@krebsco.de> | 2016-02-11 23:16:08 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2016-02-11 23:16:08 +0100 |
commit | 6cbe21aac7680af7a6c6c2ea367ee0569d53bb21 (patch) | |
tree | 1f335587c58a7127feebf3d847064c7f835c84e4 /krebs/3modules/retiolum.nix | |
parent | 7b3b839cc7a2af73dee9858e6ebcc7be831eb481 (diff) |
krebs.retiolum: make hostsPackage configurable
Diffstat (limited to 'krebs/3modules/retiolum.nix')
-rw-r--r-- | krebs/3modules/retiolum.nix | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/krebs/3modules/retiolum.nix b/krebs/3modules/retiolum.nix index 2bf8aa5db..3ebb5e230 100644 --- a/krebs/3modules/retiolum.nix +++ b/krebs/3modules/retiolum.nix @@ -64,6 +64,21 @@ let ''; }; + hostsPackage = mkOption { + type = types.package; + default = 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)} + ''; + }; + }; + iproutePackage = mkOption { type = types.package; default = pkgs.iproute; @@ -130,18 +145,6 @@ let tinc = cfg.tincPackage; - 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; confDir = pkgs.runCommand "retiolum" { @@ -153,7 +156,7 @@ let mkdir -p $out - ln -s ${tinc-hosts} $out/hosts + ln -s ${cfg.hostsPackage} $out/hosts cat > $out/tinc.conf <<EOF Name = ${cfg.name} |