blob: 2e5a2442ee7c47511345bfe8d5002df183519d6b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
{ stdenv
, nettools
, openresolv
, name
, connect ? true
, ipConf ? {}
, useDNS ? true
}:
with stdenv.lib;
{
"yggdrasil" = {
inherit name;
debugLevel = 2;
hosts = ( import ./hosts/yggdrasil.nix );
extraConfig = ''
PingTimeout = 10
${optionalString connect "ConnectTo = ymir"}
'';
scripts = {
tinc-up = ''
#!${stdenv.shell}
${nettools}/bin/route add -net 10.141.1.0 netmask 255.255.255.0 gw 10.141.1.1 dev $INTERFACE metric 9999
${optionalString useDNS ''
${openresolv}/bin/resolvconf -m 0 -a tinc.yggdrasil <<EOF
domain yggdrasil
nameserver 10.141.1.1
EOF''}
'';
tinc-down = ''
#!${stdenv.shell}
${optionalString useDNS ''
${openresolv}/bin/resolvconf -d tinc.yggdrasil
''}
'';
};
interfaceConfig = ipConf;
};
}
|