krebs.retiolum: make hostsPackage configurable

This commit is contained in:
tv 2016-02-11 23:16:08 +01:00
parent 7b3b839cc7
commit 6cbe21aac7

View file

@ -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}