2023-01-16 03:44:21 +00:00
|
|
|
# It just contains a set of network-related variables mainly used for
|
|
|
|
# network-related services. Make sure to change this every time you migrate to
|
|
|
|
# a new server.
|
2023-01-20 06:50:27 +00:00
|
|
|
let
|
|
|
|
inherit (builtins) toString;
|
|
|
|
in
|
2023-01-19 12:12:14 +00:00
|
|
|
rec {
|
2023-01-23 09:46:32 +00:00
|
|
|
privateIPv6Prefix = "fdee:b0de:5685";
|
|
|
|
interfaces = {
|
|
|
|
# This is the public-facing interface. Any interface name with a prime
|
|
|
|
# symbol means it's a public-facing interface.
|
|
|
|
main' = {
|
|
|
|
IPv4 = "95.217.212.19";
|
|
|
|
IPv6 = "2a01:4f9:c011:a448::1";
|
|
|
|
};
|
2023-01-19 12:12:14 +00:00
|
|
|
|
2023-01-23 09:46:32 +00:00
|
|
|
# /16 block for IPv4, /64 for IPv6.
|
|
|
|
main = {
|
|
|
|
IPv4 = "172.25.0.1";
|
|
|
|
IPv6 = "${privateIPv6Prefix}:1::";
|
|
|
|
};
|
2023-01-16 03:44:21 +00:00
|
|
|
|
2023-01-23 09:46:32 +00:00
|
|
|
# /16 block for IPv4, /64 for IPv6.
|
|
|
|
internal = {
|
|
|
|
IPv4 = "172.24.0.1";
|
|
|
|
IPv6 = "${privateIPv6Prefix}:2::";
|
|
|
|
};
|
2023-01-17 08:05:11 +00:00
|
|
|
|
2023-01-23 09:46:32 +00:00
|
|
|
# /16 BLOCK for IPv4, /64 for IPv6.
|
|
|
|
wireguard0 = {
|
|
|
|
IPv4 = "10.210.0.1";
|
|
|
|
IPv6 = "${privateIPv6Prefix}:12ae::";
|
|
|
|
};
|
|
|
|
};
|
2023-01-21 10:57:37 +00:00
|
|
|
|
2023-01-23 09:46:32 +00:00
|
|
|
# The private network for this host.
|
|
|
|
preferredInternalTLD = "internal";
|
2023-01-21 10:57:37 +00:00
|
|
|
|
|
|
|
# Wireguard-related things.
|
2023-01-17 08:05:11 +00:00
|
|
|
wireguardPort = 51820;
|
2023-01-23 09:46:32 +00:00
|
|
|
wireguardIPHostPart = "10.210.0";
|
|
|
|
wireguardIPv6Prefix = interfaces.wireguard0.IPv6;
|
2023-01-23 05:29:42 +00:00
|
|
|
|
2023-01-23 09:46:32 +00:00
|
|
|
# These are all fixed IP addresses. They should be /32 IPv4 block and /128
|
|
|
|
# IPv6 block.
|
2023-01-23 05:29:42 +00:00
|
|
|
wireguardPeers = {
|
2023-01-23 09:46:32 +00:00
|
|
|
server = with interfaces.wireguard0; { inherit IPv4 IPv6; };
|
2023-01-23 05:29:42 +00:00
|
|
|
desktop = {
|
2023-01-23 09:46:32 +00:00
|
|
|
IPv4 = "${wireguardIPHostPart}.2";
|
|
|
|
IPv6 = "${wireguardIPv6Prefix}:12ae::2";
|
2023-01-23 05:29:42 +00:00
|
|
|
};
|
|
|
|
phone = {
|
2023-01-23 09:46:32 +00:00
|
|
|
IPv4 = "${wireguardIPHostPart}.3";
|
|
|
|
IPv6 = "${wireguardIPv6Prefix}:12ae::3";
|
2023-01-23 05:29:42 +00:00
|
|
|
};
|
|
|
|
};
|
2023-01-16 03:44:21 +00:00
|
|
|
}
|