1{
2 lib
3, buildGoModule
4, fetchFromGitHub
5, installShellFiles
6}:
7
8buildGoModule rec {
9 pname = "extism-cli";
10 version = "1.4.0";
11
12 src = fetchFromGitHub {
13 owner = "extism";
14 repo = "cli";
15 rev = "refs/tags/v${version}";
16 hash = "sha256-F+Kb9ZAgHkw5kcOSt2Q8Lm+B8B4VPkr4FVYbe6HD+is=";
17 };
18
19 vendorHash = "sha256-/faWWYwY7oxbIOoqpyXC+EU4gECl/o34M+SFyfMOWj8=";
20
21 nativeBuildInputs = [ installShellFiles ];
22
23 subPackages = [ "./extism" ];
24
25 doCheck = false; # Tests require network access
26
27 postInstall = ''
28 local INSTALL="$out/bin/extism"
29 installShellCompletion --cmd extism \
30 --bash <($out/bin/containerlab completion bash) \
31 --fish <($out/bin/containerlab completion fish) \
32 --zsh <($out/bin/containerlab completion zsh)
33 '';
34
35 meta = with lib; {
36 description = "The extism CLI is used to manage Extism installations";
37 homepage = "https://github.com/extism/cli";
38 license = licenses.bsd3;
39 maintainers = with maintainers; [ zshipko ];
40 mainProgram = "extism";
41 platforms = platforms.all;
42 };
43}