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