From c9a1d2da80bca0a85e8c18f6d2db71c4d1127eda Mon Sep 17 00:00:00 2001 From: Collin Williams <96917990+bluedragon1221@users.noreply.github.com> Date: Thu, 29 Jan 2026 20:15:19 -0600 Subject: Spring Cleaning - create new module, `system`, that consumes the `boot` module and takes in the more system-interested services from the `services` module - touch up left over services (which are more self-hosting interested) - touch up yo and yoshi configs --- modules/system/nixos/networking/tailscale.nix | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 modules/system/nixos/networking/tailscale.nix (limited to 'modules/system/nixos/networking/tailscale.nix') diff --git a/modules/system/nixos/networking/tailscale.nix b/modules/system/nixos/networking/tailscale.nix new file mode 100644 index 0000000..552ec8b --- /dev/null +++ b/modules/system/nixos/networking/tailscale.nix @@ -0,0 +1,33 @@ +{ + config, + pkgs, + lib, + ... +}: let + cfg = config.collinux.system.network.tailscale; +in + lib.mkIf cfg.enable { + services.tailscale = { + enable = true; + useRoutingFeatures = "both"; + }; + + networking.firewall = { + trustedInterfaces = ["tailscale0"]; + allowedUDPPorts = [config.services.tailscale.port]; + }; + + systemd.services."tailscaled" = + if config.collinux.services.selfhost.headscale.enable + then { + # don't start tailscale until after headscale starts + wants = lib.mkForce ["network.target" "headscale.target"]; + after = lib.mkForce ["network.target" "headscale.target"]; + } + else { + wants = lib.mkForce ["network.target"]; + after = lib.mkForce ["network.target"]; + }; + + environment.systemPackages = [pkgs.tailscale]; + } -- cgit v1.3.1