{ config, lib, ... }: let cfg = config.my.caddy; in { options.my.caddy = { enable = lib.mkEnableOption "caddy reverse proxy"; }; config = lib.mkIf cfg.enable { services.caddy = { enable = true; logFormat = lib.mkForce "level INFO"; acmeCA = "https://acme-v02.api.letsencrypt.org/directory"; extraConfig = '' (common) { encode zstd gzip header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" } ''; }; }; }