1{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
2
3buildGoModule rec {
4 pname = "metal-cli";
5 version = "0.11.0";
6
7 src = fetchFromGitHub {
8 owner = "equinix";
9 repo = pname;
10 rev = "v${version}";
11 sha256 = "sha256-tbnG/MF83cAnsG2LOqdQSGF2XT+UWSzIpxVbkolzEQQ=";
12 };
13
14 vendorSha256 = "sha256-drsNZXLNUWICLI8D+IvJE4X8GmWrP9U3dmpf9HnKCWw=";
15
16 ldflags = [
17 "-s" "-w"
18 "-X github.com/equinix/metal-cli/cmd.Version=${version}"
19 ];
20
21 nativeBuildInputs = [ installShellFiles ];
22
23 postInstall = ''
24 installShellCompletion --cmd metal \
25 --bash <($out/bin/metal completion bash) \
26 --fish <($out/bin/metal completion fish) \
27 --zsh <($out/bin/metal completion zsh)
28 '';
29
30 doCheck = false;
31
32 doInstallCheck = true;
33 installCheckPhase = ''
34 $out/bin/metal --version | grep ${version}
35 '';
36
37 meta = with lib; {
38 description = "Official Equinix Metal CLI";
39 homepage = "https://github.com/equinix/metal-cli/";
40 license = licenses.mit;
41 maintainers = with maintainers; [ Br1ght0ne nshalman ];
42 mainProgram = "metal";
43 };
44}