summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/3modules/lass/default.nix8
-rw-r--r--lass/source.nix2
-rw-r--r--lib/types.nix26
-rw-r--r--makefu/1systems/cake/config.nix3
-rw-r--r--makefu/1systems/latte/config.nix1
-rw-r--r--makefu/1systems/latte/source.nix3
-rw-r--r--makefu/2configs/binary-cache/lass.nix1
-rw-r--r--makefu/2configs/tools/dev.nix1
-rw-r--r--makefu/3modules/default.nix1
-rw-r--r--makefu/3modules/wvdial.nix71
-rw-r--r--makefu/source.nix3
11 files changed, 112 insertions, 8 deletions
diff --git a/krebs/3modules/lass/default.nix b/krebs/3modules/lass/default.nix
index 534eac71..3e03e71c 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 e0af7d83..bd0395bc 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 70570a6b..08dc0974 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 e8438e50..c287c28d 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 d532f216..3b06660c 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 d997fb3f..d9600909 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 4813eeb0..46b386e1 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 6681484f..d3d50c43 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 00df56be..af0e81df 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 00000000..1ed929ed
--- /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 01342619..8c880a8e 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)