main
1{den, ...}: {
2 den.aspects.services.tailscale-nginx-auth = {
3 includes = [den.aspects.core.tailscale];
4
5 nixos = {pkgs, ...}: {
6 systemd.sockets.tailscale-nginx-auth = {
7 description = "Tailscale NGINX Authentication socket";
8 partOf = ["tailscale-nginx-auth.service"];
9 wantedBy = ["sockets.target"];
10 listenStreams = ["/run/tailscale.nginx-auth.sock"];
11 };
12
13 systemd.services.tailscale-nginx-auth = {
14 description = "Tailscale NGINX Authentication service";
15 requires = ["tailscale-nginx-auth.socket"];
16 after = ["tailscaled.service"];
17
18 serviceConfig = {
19 ExecStart = "${pkgs.tailscale-nginx-auth}/bin/tailscale.nginx-auth";
20 DynamicUser = true;
21 BindPaths = ["/run/tailscale/tailscaled.sock"];
22 PrivateDevices = true;
23 ProtectHome = true;
24 RestrictAddressFamilies = ["AF_UNIX"];
25 Restart = "on-failure";
26 };
27 };
28 };
29 };
30}