From 157918af5d7f29bc0adc467e5a5b87c03ec3971e Mon Sep 17 00:00:00 2001 From: Theodore Ni <3806110+tjni@users.noreply.github.com> Date: Sun, 18 Sep 2022 23:48:41 -0700 Subject: [PATCH] xcaddy: init at 0.3.1. A tool that can be used to build the Caddy webserver with plugins. It functions as its own package manager and calls out to the network, so it can't build Caddy in nixpkgs, but it's useful for environments that: 1. Do not need sandboxed and reproducible builds. 2. Pin Caddy and plugin versions when using the tool and trust it to be a reproducible, fixed derivation. --- pkgs/servers/caddy/xcaddy/default.nix | 24 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/servers/caddy/xcaddy/default.nix diff --git a/pkgs/servers/caddy/xcaddy/default.nix b/pkgs/servers/caddy/xcaddy/default.nix new file mode 100644 index 000000000000..d064d7e5464f --- /dev/null +++ b/pkgs/servers/caddy/xcaddy/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "xcaddy"; + version = "0.3.1"; + + subPackages = [ "cmd/xcaddy" ]; + + src = fetchFromGitHub { + owner = "caddyserver"; + repo = pname; + rev = "v${version}"; + hash = "sha256-oGTtS5UlEebIqv4SM4q0YclASJNu8DNOLrGLRRAtkd8="; + }; + + vendorHash = "sha256-RpbnoXyTrqGOI7DpgkO+J47P17T4QCVvM1CfS6kRO9Y="; + + meta = with lib; { + homepage = "https://github.com/caddyserver/xcaddy"; + description = "Build Caddy with plugins"; + license = licenses.asl20; + maintainers = with maintainers; [ tjni ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1cd3ea826e86..57d2f3053845 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3221,6 +3221,8 @@ with pkgs; caddy = callPackage ../servers/caddy { }; + xcaddy = callPackage ../servers/caddy/xcaddy { }; + traefik = callPackage ../servers/traefik { }; traefik-certs-dumper = callPackage ../tools/misc/traefik-certs-dumper { };