{ config, lib, pkgs, ... }: { systemd.services.headscale.environment = { GODEBUG = "netdns=go"; }; networking.enableIPv6 = false; environment.etc."headscale/derp.yaml".source = ./derp.yaml; services.headscale = { enable = true; settings = { server_url = "https://vpn.grasswren.net"; listen_addr = "0.0.0.0:8080"; database.type = "sqlite"; ip_prefixes = [ "100.64.0.0/10" "fd7a:115c:a1e0::/48" ]; dns = { magic_dns = true; base_domain = "vpn"; nameservers.global = [ "1.1.1.1" ]; }; }; }; services.caddy = { enable = true; virtualHosts."vpn.grasswren.net".extraConfig = '' reverse_proxy localhost:8080 ''; }; }