git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #153729 from aanderse/nixos/caddy

nixos/caddy: add globalConfig option

commit2e95239bd10ff4aabe67413068078ee1f2f6f540 authorAaron Andersen <aaron@fosslib.net> dateFri 7 Jan 2022, 08:35 (5 years ago) parent0578da545477f7
1 file changed+28−5
nixos/modules/services/web-servers/caddy/default.nix+28−5
nixos/modules/services/web-servers/caddy/default.nix+28−5
@@ -28,11 +28,7 @@ let
2828 let
2929 Caddyfile = pkgs.writeText "Caddyfile" ''
3030 {
31− ${optionalString (cfg.email != null) "email ${cfg.email}"}
32− ${optionalString (cfg.acmeCA != null) "acme_ca ${cfg.acmeCA}"}
33− log {
34− ${cfg.logFormat}
35− }
31+ ${cfg.globalConfig}
3632 }
3733 ${cfg.extraConfig}
3834 '';
@@ -183,6 +179,26 @@ in
183179 '';
184180 };
185181
182+ globalConfig = mkOption {
183+ type = types.lines;
184+ default = "";
185+ example = ''
186+ debug
187+ servers {
188+ protocol {
189+ experimental_http3
190+ }
191+ }
192+ '';
193+ description = ''
194+ Additional lines of configuration appended to the global config section
195+ of the <literal>Caddyfile</literal>.
196+
197+ Refer to <link xlink:href="https://caddyserver.com/docs/caddyfile/options#global-options"/>
198+ for details on supported values.
199+ '';
200+ };
201+
186202 extraConfig = mkOption {
187203 type = types.lines;
188204 default = "";
@@ -253,6 +269,13 @@ in
253269 ];
254270
255271 services.caddy.extraConfig = concatMapStringsSep "\n" mkVHostConf virtualHosts;
272+ services.caddy.globalConfig = ''
273+ ${optionalString (cfg.email != null) "email ${cfg.email}"}
274+ ${optionalString (cfg.acmeCA != null) "acme_ca ${cfg.acmeCA}"}
275+ log {
276+ ${cfg.logFormat}
277+ }
278+ '';
256279
257280 systemd.packages = [ cfg.package ];
258281 systemd.services.caddy = {