2024-05-28 23:47:11 -04:00
|
|
|
{ lib, config, ... }:
|
|
|
|
let
|
|
|
|
cfg = config.services.rad-dev.k3s-net;
|
|
|
|
in
|
2024-05-25 12:48:46 -04:00
|
|
|
{
|
2024-05-28 23:41:22 -04:00
|
|
|
options = {
|
|
|
|
services.rad-dev.k3s-net = {
|
|
|
|
enable = lib.mkOption {
|
|
|
|
default = true;
|
|
|
|
example = true;
|
|
|
|
description = "Whether to enable k3s-net.";
|
|
|
|
type = lib.types.bool;
|
|
|
|
};
|
|
|
|
};
|
2024-05-25 12:48:46 -04:00
|
|
|
};
|
2024-05-27 17:00:50 -04:00
|
|
|
|
2024-05-28 23:47:11 -04:00
|
|
|
config = lib.mkIf cfg.enable {
|
2024-05-28 23:41:22 -04:00
|
|
|
|
|
|
|
system.activationScripts.setZerotierName = lib.stringAfter [ "var" ] ''
|
|
|
|
echo "ebe7fbd44565ba9d=ztkubnet" > /var/lib/zerotier-one/devicemap
|
|
|
|
'';
|
|
|
|
|
2024-05-28 23:51:01 -04:00
|
|
|
services.zerotierone = lib.mkDefault {
|
2024-05-28 23:41:22 -04:00
|
|
|
enable = true;
|
|
|
|
joinNetworks = [ "ebe7fbd44565ba9d" ];
|
2024-05-26 11:06:40 -04:00
|
|
|
};
|
2024-05-28 23:41:22 -04:00
|
|
|
|
2024-05-28 23:51:01 -04:00
|
|
|
systemd.network = lib.mkDefault {
|
2024-05-28 23:41:22 -04:00
|
|
|
enable = true;
|
|
|
|
wait-online.anyInterface = true;
|
|
|
|
netdevs = {
|
|
|
|
"20-brkubnet" = {
|
|
|
|
netdevConfig = {
|
|
|
|
Kind = "bridge";
|
|
|
|
Name = "brkubnet";
|
|
|
|
};
|
|
|
|
};
|
2024-05-26 11:06:40 -04:00
|
|
|
};
|
2024-05-28 23:41:22 -04:00
|
|
|
networks = {
|
|
|
|
"30-ztkubnet" = {
|
|
|
|
matchConfig.Name = "ztkubnet";
|
|
|
|
networkConfig.Bridge = "brkubnet";
|
|
|
|
linkConfig.RequiredForOnline = "enslaved";
|
|
|
|
};
|
|
|
|
"40-brkubnet" = {
|
|
|
|
matchConfig.Name = "brkubnet";
|
|
|
|
bridgeConfig = { };
|
|
|
|
linkConfig.RequiredForOnline = "no";
|
|
|
|
};
|
2024-05-26 11:06:40 -04:00
|
|
|
};
|
|
|
|
};
|
2024-05-27 17:00:50 -04:00
|
|
|
|
2024-05-28 23:41:22 -04:00
|
|
|
# enable experimental networkd backend so networking doesnt break on hybrid systems
|
2024-05-28 23:51:01 -04:00
|
|
|
networking.useNetworkd = lib.mkDefault true;
|
2024-05-28 23:41:22 -04:00
|
|
|
};
|
2024-05-25 12:48:46 -04:00
|
|
|
}
|