From f5a06f7150d534ab3a849ca500164b9707e1bb69 Mon Sep 17 00:00:00 2001 From: IndeedNotJames Date: Thu, 9 Feb 2023 03:36:10 +0100 Subject: [PATCH] nixos/caddy: fix `caddy fmt` for caddy v2.6.3 The nixos module uses `caddy fmt` to *format* the generated Caddyfile. v2.6.3 slightly altered `caddy fmt`'s behavior. Excerpt from https://github.com/caddyserver/caddy/releases/tag/v2.6.3 > cmd: caddy fmt return code is 1 if not formatted > cmd: fmt exit successfully after overwriting config file Which is why the internal `Caddyfile-formatted` now uses `cp` and `caddy fmt --overwrite` instead --- nixos/modules/services/web-servers/caddy/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/web-servers/caddy/default.nix b/nixos/modules/services/web-servers/caddy/default.nix index 50213ec252ff..f5a9cfac5d77 100644 --- a/nixos/modules/services/web-servers/caddy/default.nix +++ b/nixos/modules/services/web-servers/caddy/default.nix @@ -35,7 +35,8 @@ let Caddyfile-formatted = pkgs.runCommand "Caddyfile-formatted" { nativeBuildInputs = [ cfg.package ]; } '' mkdir -p $out - ${cfg.package}/bin/caddy fmt ${Caddyfile}/Caddyfile > $out/Caddyfile + cp --no-preserve=mode ${Caddyfile}/Caddyfile $out/Caddyfile + caddy fmt --overwrite $out/Caddyfile ''; in "${if pkgs.stdenv.buildPlatform == pkgs.stdenv.hostPlatform then Caddyfile-formatted else Caddyfile}/Caddyfile";