This commit is contained in:
Henri Dohmen 2025-05-26 01:08:54 +02:00
parent dbd88aea66
commit 8fbd9d06b4
29 changed files with 130 additions and 101 deletions

View file

@ -0,0 +1,25 @@
{ ... }:
{
networking = {
enableIPv6 = true;
interfaces = {
"ens3".ipv6.addresses = [
{
address = "2a03:4000:3b:f99::";
prefixLength = 64;
}
];
};
defaultGateway6 = {
address = "fe80::1";
interface = "ens3";
};
};
services.openssh = {
enable = true;
settings.PasswordAuthentication = false;
};
}

View file

@ -0,0 +1,9 @@
{ ... }:
{
security = {
acme = {
acceptTerms = true;
defaults.email = "acme@henri-dohmen.de";
};
};
}

View file

@ -0,0 +1,47 @@
{ config, ... }:
let
headscale-domain = "headscale.hdohmen.de";
in
{
services = {
# TODO: maybe just use wireguard...
/*
headscale = {
enable = true;
address = "127.0.0.1";
port = 8080;
settings = {
server_url = "https://${headscale-domain}";
prefixes.v4 = "100.10.11.0/24";
prefixes.v6 = "fd7a:115c:1011::/48";
dns = {
magic_dns = true;
base_domain = "net.hdohmen.de";
};
};
};
*/
nginx = {
enable = true;
/*
virtualHosts.${headscale-domain} = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:${toString config.services.headscale.port}";
proxyWebsockets = true;
};
};
*/
};
};
networking.firewall = {
enable = true;
allowedTCPPorts = [
80
443
];
};
}

View file

@ -0,0 +1,25 @@
{ ... }:
let
wireguard-port = 51820;
wireguard-subnet = "100.10.11.0/24";
in
{
networking = {
nat = {
enable = true;
externalInterface = "ens3";
internalInterfaces = [ "wg0" ];
};
firewall.allowedUDPPorts = [ wireguard-port ];
wireguard = {
enable = true;
interfaces."wg0" = {
ips = [ wireguard-subnet ];
listenPort = wireguard-port;
privateKeyFile = "/var/secrets/wg0.key";
};
};
};
}