nix/overlay/caddy-custom.nix
2024-09-10 19:48:40 +02:00

55 lines
1.3 KiB
Nix

{ pkgs, ... }:
with pkgs;
caddy.override {
buildGoModule =
args:
buildGoModule (
args
// {
src = stdenv.mkDerivation rec {
pname = "caddy-using-xcaddy-${xcaddy.version}";
inherit (caddy) version;
dontUnpack = true;
dontFixup = true;
nativeBuildInputs = [
cacert
go
];
plugins = [ "github.com/caddy-dns/cloudflare@89f16b99c18ef49c8bb470a82f895bce01cbaece" ];
configurePhase = ''
export GOCACHE=$TMPDIR/go-cache
export GOPATH="$TMPDIR/go"
export XCADDY_SKIP_BUILD=1
'';
buildPhase = ''
${xcaddy}/bin/xcaddy build "${caddy.src.rev}" ${
lib.concatMapStringsSep " " (plugin: "--with ${plugin}") plugins
}
cd buildenv*
go mod vendor
'';
installPhase = ''
cp -r --reflink=auto . $out
'';
outputHash = "sha256-lyhEIOgGkR31bt9YV+W854TBZw419G8uuTtBSsFcgCA=";
outputHashMode = "recursive";
};
subPackages = [ "." ];
ldflags = [
"-s"
"-w"
]; # # don't include version info twice
vendorHash = null;
}
);
}