diff options
-rw-r--r-- | krebs/3modules/lass/default.nix | 8 | ||||
-rw-r--r-- | lass/source.nix | 2 | ||||
-rw-r--r-- | lib/types.nix | 26 | ||||
-rw-r--r-- | makefu/1systems/cake/config.nix | 3 | ||||
-rw-r--r-- | makefu/1systems/latte/config.nix | 1 | ||||
-rw-r--r-- | makefu/1systems/latte/source.nix | 3 | ||||
-rw-r--r-- | makefu/2configs/binary-cache/lass.nix | 1 | ||||
-rw-r--r-- | makefu/2configs/tools/dev.nix | 1 | ||||
-rw-r--r-- | makefu/3modules/default.nix | 1 | ||||
-rw-r--r-- | makefu/3modules/wvdial.nix | 71 | ||||
-rw-r--r-- | makefu/source.nix | 3 |
11 files changed, 112 insertions, 8 deletions
diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix index 534eac716..3e03e71cb 100644 --- a/krebs/3modules/lass/default.nix +++ b/krebs/3modules/lass/default.nix @@ -437,8 +437,14 @@ with import <stockholm/lib>; ip4.addr = "129.215.90.4"; aliases = [ "eddie.i" ]; }; - retiolum = { + retiolum = rec { via = internet; + addrs = [ + # edinburgh university + "129.215.0.0/16" + ip4.addr + ip6.addr + ]; ip4.addr = "10.243.29.170"; ip6.addr = "42:4992:6a6d:700::1"; aliases = [ "eddie.r" ]; diff --git a/lass/source.nix b/lass/source.nix index e0af7d83c..bd0395bcd 100644 --- a/lass/source.nix +++ b/lass/source.nix @@ -10,7 +10,7 @@ in nixos-config.symlink = "stockholm/lass/1systems/${name}/config.nix"; nixpkgs.git = { url = https://github.com/nixos/nixpkgs; - ref = "1987983"; + ref = "68ef4b1"; }; secrets.file = getAttr builder { buildbot = toString <stockholm/lass/2configs/tests/dummy-secrets>; diff --git a/lib/types.nix b/lib/types.nix index 70570a6b3..08dc0974e 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -92,7 +92,7 @@ rec { default = null; }; addrs = mkOption { - type = listOf addr; + type = listOf cidr; default = optional (config.ip4 != null) config.ip4.addr ++ optional (config.ip6 != null) config.ip6.addr; @@ -109,7 +109,7 @@ rec { type = addr4; }; prefix = mkOption ({ - type = str; # TODO routing prefix (CIDR) + type = cidr4; } // optionalAttrs (config.name == "retiolum") { default = "10.243.0.0/16"; }); @@ -125,7 +125,7 @@ rec { apply = lib.normalize-ip6-addr; }; prefix = mkOption ({ - type = str; # TODO routing prefix (CIDR) + type = cidr6; } // optionalAttrs (config.name == "retiolum") { default = "42::/16"; }); @@ -364,6 +364,26 @@ rec { merge = mergeOneOption; }; + cidr = either cidr4 cidr6; + cidr4 = mkOptionType { + name = "CIDRv4 address"; + check = let + CIDRv4address = let d = "([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"; in + concatMapStringsSep "." (const d) (range 1 4) + "(/([1-2]?[0-9]|3[0-2]))?"; + in + test CIDRv4address; + merge = mergeOneOption; + }; + cidr6 = mkOptionType { + name = "CIDRv6 address"; + check = let + # TODO check IPv6 address harder + CIDRv6address = "[0-9a-f.:]+(/([0-9][0-9]?|1[0-2][0-8]))?"; + in + test CIDRv6address; + merge = mergeOneOption; + }; + binary-cache-pubkey = str; pgp-pubkey = str; diff --git a/makefu/1systems/cake/config.nix b/makefu/1systems/cake/config.nix index e8438e50d..c287c28df 100644 --- a/makefu/1systems/cake/config.nix +++ b/makefu/1systems/cake/config.nix @@ -6,6 +6,9 @@ # configure your hw: # <stockholm/makefu/2configs/save-diskspace.nix> ]; + users.extraUsers.root.openssh.authorizedKeys.keys = [ + config.krebs.users.tv.pubkey + ]; krebs = { enable = true; tinc.retiolum.enable = true; diff --git a/makefu/1systems/latte/config.nix b/makefu/1systems/latte/config.nix index d532f216f..3b06660c6 100644 --- a/makefu/1systems/latte/config.nix +++ b/makefu/1systems/latte/config.nix @@ -26,6 +26,7 @@ in { <stockholm/makefu/2configs/zsh-user.nix> # Services <stockholm/makefu/2configs/remote-build/slave.nix> + <stockholm/makefu/2configs/torrent.nix> ]; krebs = { diff --git a/makefu/1systems/latte/source.nix b/makefu/1systems/latte/source.nix index d997fb3f0..d9600909a 100644 --- a/makefu/1systems/latte/source.nix +++ b/makefu/1systems/latte/source.nix @@ -1,3 +1,4 @@ import <stockholm/makefu/source.nix> { - name="latte"; + name = "latte"; + torrent = true; } diff --git a/makefu/2configs/binary-cache/lass.nix b/makefu/2configs/binary-cache/lass.nix index 4813eeb0f..46b386e14 100644 --- a/makefu/2configs/binary-cache/lass.nix +++ b/makefu/2configs/binary-cache/lass.nix @@ -7,6 +7,7 @@ ]; binaryCachePublicKeys = [ "cache.prism-1:+S+6Lo/n27XEtvdlQKuJIcb1yO5NUqUCE2lolmTgNJU=" + "cache.prism-2:YwmCm3/s/D+SxrPKN/ETjlpw/219pNUbpnluatp6FKI=" ]; }; } diff --git a/makefu/2configs/tools/dev.nix b/makefu/2configs/tools/dev.nix index 6681484fd..d3d50c433 100644 --- a/makefu/2configs/tools/dev.nix +++ b/makefu/2configs/tools/dev.nix @@ -16,5 +16,6 @@ whatsupnix brain gen-oath-safe + cdrtools ]; } diff --git a/makefu/3modules/default.nix b/makefu/3modules/default.nix index 00df56bee..af0e81df5 100644 --- a/makefu/3modules/default.nix +++ b/makefu/3modules/default.nix @@ -15,6 +15,7 @@ _: ./torrent.nix ./udpt.nix ./umts.nix + ./wvdial.nix ]; } diff --git a/makefu/3modules/wvdial.nix b/makefu/3modules/wvdial.nix new file mode 100644 index 000000000..1ed929ed4 --- /dev/null +++ b/makefu/3modules/wvdial.nix @@ -0,0 +1,71 @@ +# Global configuration for wvdial. + +{ config, lib, pkgs, ... }: + +with lib; + +let + + configFile = '' + [Dialer Defaults] + PPPD PATH = ${pkgs.ppp}/sbin/pppd + ${config.environment.wvdial.dialerDefaults} + ''; + + cfg = config.environment.wvdial; + +in +{ + ###### interface + + options = { + + environment.wvdial = { + + dialerDefaults = mkOption { + default = ""; + type = types.str; + example = ''Init1 = AT+CGDCONT=1,"IP","internet.t-mobile"''; + description = '' + Contents of the "Dialer Defaults" section of + <filename>/etc/wvdial.conf</filename>. + ''; + }; + + pppDefaults = mkOption { + default = '' + noipdefault + usepeerdns + defaultroute + persist + noauth + ''; + type = types.str; + description = "Default ppp settings for wvdial."; + }; + + }; + + }; + + ###### implementation + + config = mkIf (cfg.dialerDefaults != "") { + + environment = { + + etc = + [ + { source = pkgs.writeText "wvdial.conf" configFile; + target = "wvdial.conf"; + } + { source = pkgs.writeText "wvdial" cfg.pppDefaults; + target = "ppp/peers/wvdial"; + } + ]; + + }; + + }; + +} diff --git a/makefu/source.nix b/makefu/source.nix index 013426195..8c880a8e2 100644 --- a/makefu/source.nix +++ b/makefu/source.nix @@ -11,8 +11,7 @@ let then "buildbot" else "makefu"; _file = <stockholm> + "/makefu/1systems/${name}/source.nix"; - ref = "727a3a3"; # unstable @ 2017-10-07 - # + revert wvdial (76f4910) + ref = "809cf38"; # unstable @ 2017-10-07 # + ruby stuff (2f0b17e4be9,55a952be5b5) # + mitmproxy fix (360a5efd,ef52c95b) |