aboutsummaryrefslogtreecommitdiff
path: root/modules/services/nixos/selfhost/caddy.nix
blob: 367585dd612e75a14d73077333e216d425adc4ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
  pkgs,
  lib,
  config,
  ...
}: let
  cfg = config.collinux.services.selfhost.caddy;
in
  lib.mkIf cfg.enable (lib.mkMerge [
    {
      services.caddy = {
        enable = true;
      };
      networking.firewall.allowedTCPPorts = [80 443];
      environment.systemPackages = with pkgs; [nss]; # required for caddy https stuff
    }
    (lib.mkIf config.collinux.services.networking.tailscale.enable {
      services.caddy = {
        package = pkgs.caddy.withPlugins {
          plugins = [
            "github.com/tailscale/caddy-tailscale@v0.0.0-20251204171825-f070d146dd61"
          ];
          hash = "sha256-cK7C5ISsTwX0FMf891s/Vr22JvRqYEC8GkLfP1L1Mus=";
        };
        environmentFile = config.age.secrets."caddy-tailscale-authkey".path;
      };
    })
  ])