From 087157b4bf787241796e1cfa87bb81642739fce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 14 Nov 2023 14:03:47 +0100 Subject: [PATCH] zerotier: compute ipv6 subnets --- nixosModules/clanCore/zerotier/default.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/nixosModules/clanCore/zerotier/default.nix b/nixosModules/clanCore/zerotier/default.nix index 2d3c2bb90..ffe910194 100644 --- a/nixosModules/clanCore/zerotier/default.nix +++ b/nixosModules/clanCore/zerotier/default.nix @@ -52,6 +52,28 @@ in zerotier networking id ''; }; + subnet = lib.mkOption { + type = lib.types.nullOr lib.types.str; + readOnly = true; + default = + if cfg.networkId != null then + let + part0 = builtins.substring 0 2 cfg.networkId; + part1 = builtins.substring 2 2 cfg.networkId; + part2 = builtins.substring 4 2 cfg.networkId; + part3 = builtins.substring 6 2 cfg.networkId; + part4 = builtins.substring 8 2 cfg.networkId; + part5 = builtins.substring 10 2 cfg.networkId; + part6 = builtins.substring 12 2 cfg.networkId; + part7 = builtins.substring 14 2 cfg.networkId; + in + "fd${part0}:${part1}${part2}:${part3}${part4}:${part5}${part6}:${part7}99:93::/88" + else + null; + description = '' + zerotier subnet + ''; + }; controller = { enable = lib.mkEnableOption "turn this machine into the networkcontroller"; public = lib.mkOption {