Files
nix/modules/system/tailscale.nix
2025-10-13 22:18:10 -05:00

37 lines
863 B
Nix

{
pkgs,
config,
lib,
...
}: let
cfg = config.system.tailscale;
authkey_file = config.sops.secrets."tailscale_authkey".path;
in {
options.system.tailscale = {
enable = lib.mkEnableOption "enables tailscale";
};
config = lib.mkIf cfg.enable {
services.tailscale = {
enable = true;
useRoutingFeatures = "both";
authKeyFile = authkey_file;
extraUpFlags = [
"--accept-routes=false" # true is equilivant to useRoutingFeatures = "client" (breaks shit)
"--accept-dns=true" # explicitly allow resolved
];
};
# network config
networking.firewall.trustedInterfaces = ["tailscale0"];
networking.firewall.allowedUDPPorts = [config.services.tailscale.port];
# declare authkey secrets
sops.secrets = {
"tailscale_authkey" = {
owner = "root";
};
};
};
}