chore(nix): add Headscale service to MX configuration

- Included `headscale.nix` in the MX system configuration for VPN management.
- Added Nginx and ACME configuration to route traffic securely to Headscale.
- Ensures Headscale is enabled with required settings and packaged in the system.
This commit is contained in:
Harald Hoyer 2025-11-21 16:15:51 +01:00
parent 818ba00d3a
commit 62201776f3
2 changed files with 33 additions and 0 deletions

View file

@ -7,6 +7,7 @@
./coturn.nix
./forgejo.nix
./hardware-configuration.nix
./headscale.nix
./kicker.nix
./mailserver.nix
./network.nix

View file

@ -0,0 +1,32 @@
{ config }:
let
domain = "headscale.hoyer.xyz";
in
{
services = {
headscale = {
enable = true;
address = "0.0.0.0";
port = 8080;
server_url = "https://${domain}";
dns = {
baseDomain = "hoyer.tail";
};
settings = {
logtail.enabled = false;
};
};
nginx.virtualHosts.${domain} = {
useACMEHost = "hoyer.xyz";
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:${toString config.services.headscale.port}";
proxyWebsockets = true;
};
};
};
environment.systemPackages = [ config.services.headscale.package ];
}