main
 1{
 2  den.aspects.services.headscale.policy = {
 3    nixos = {
 4      tailscaleGrant,
 5      reverseProxy,
 6      pkgs,
 7      lib,
 8      ...
 9    }: let
10      inherit
11        (import ./_lib.nix {inherit lib;})
12        mkCaddyGrants
13        mkDirectDnsGrants
14        mkPolicyGrants
15        ;
16    in {
17      services.headscale.settings.policy.path =
18        pkgs.writeText "headscale-policy.json"
19        (builtins.toJSON {
20          grants = mkPolicyGrants tailscaleGrant ++ mkCaddyGrants reverseProxy ++ mkDirectDnsGrants reverseProxy;
21        });
22    };
23  };
24}