2024-10-07 11:42:34 -04:00
|
|
|
{ outputs, ... }: {
|
2024-09-07 00:38:19 -04:00
|
|
|
networking = {
|
|
|
|
nat = {
|
|
|
|
enable = true;
|
2024-09-23 16:27:23 -04:00
|
|
|
externalInterface = "${outputs.ips.netInt}";
|
|
|
|
internalInterfaces = [ "${outputs.ips.wgInt}" ];
|
2024-09-07 00:38:19 -04:00
|
|
|
};
|
|
|
|
firewall.allowedUDPPorts = [ 51820 ];
|
|
|
|
};
|
2024-09-06 01:18:21 -04:00
|
|
|
|
|
|
|
networking.wireguard = {
|
|
|
|
enable = true;
|
|
|
|
interfaces = {
|
2024-09-23 16:27:23 -04:00
|
|
|
"${outputs.ips.wgInt}" = {
|
|
|
|
ips = [ "${outputs.ips.wgSpan}.1/24" ];
|
2024-09-06 01:18:21 -04:00
|
|
|
listenPort = 51820;
|
2024-09-23 13:49:48 -04:00
|
|
|
privateKey = outputs.secrets.wgServerPriv;
|
2024-09-06 01:18:21 -04:00
|
|
|
peers = [
|
2024-09-08 10:30:01 -04:00
|
|
|
{ # Jimbo Pixel 9
|
2024-09-23 13:49:48 -04:00
|
|
|
publicKey = outputs.secrets.wgPixel9Pub;
|
2024-09-23 16:27:23 -04:00
|
|
|
allowedIPs = [ "${outputs.ips.wgSpan}.2/32" ];
|
2024-09-06 01:18:21 -04:00
|
|
|
}
|
2024-09-11 21:58:40 -04:00
|
|
|
{ # Oracle VM
|
2024-09-23 13:49:48 -04:00
|
|
|
publicKey = outputs.secrets.wgOraclePub;
|
2024-09-23 16:27:23 -04:00
|
|
|
allowedIPs = [ "${outputs.ips.wgSpan}.3/32" ];
|
2024-09-11 21:58:40 -04:00
|
|
|
}
|
2024-09-23 13:49:48 -04:00
|
|
|
{ # General Nix
|
|
|
|
publicKey = outputs.secrets.wgClientPub;
|
2024-09-23 16:27:23 -04:00
|
|
|
allowedIPs = [ "${outputs.ips.wgSpan}.16/28" ];
|
2024-09-23 13:49:48 -04:00
|
|
|
}
|
2024-09-06 01:18:21 -04:00
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|