2025-07-09 19:32:34 -07:00
|
|
|
{ config, lib, ... }:
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
options.headscale = {
|
|
|
|
|
enable = lib.mkEnableOption "Enable headscale";
|
|
|
|
|
server = {
|
|
|
|
|
port = lib.mkOption { default = 7204; };
|
|
|
|
|
domain = lib.mkOption { type = lib.types.str; };
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config = lib.mkIf config.headscale.enable {
|
|
|
|
|
networking.firewall.allowedUDPPorts = [ 3478 ];
|
|
|
|
|
services.headscale = {
|
|
|
|
|
enable = true;
|
|
|
|
|
port = config.headscale.server.port;
|
|
|
|
|
settings = {
|
|
|
|
|
server_url = "https://${config.headscale.server.domain}";
|
|
|
|
|
dns = {
|
2025-09-16 18:45:24 -07:00
|
|
|
base_domain = "dns.${config.headscale.server.domain}";
|
2025-07-09 19:32:34 -07:00
|
|
|
override_local_dns = false;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|