1{ lib
2, fetchFromGitHub
3, buildGoModule
4, installShellFiles
5}:
6
7buildGoModule rec {
8 pname = "cirrus-cli";
9 version = "0.117.0";
10
11 src = fetchFromGitHub {
12 owner = "cirruslabs";
13 repo = pname;
14 rev = "v${version}";
15 sha256 = "sha256-dJq2/XxhSvqlRQwMHX2RHct6KQu9uik3SPeWD2/rwto=";
16 };
17
18 vendorHash = "sha256-d3cHXO4SFeNybiVDc3dUmd1XzUJ1SlMqSw7KPC3ZrXQ=";
19
20 ldflags = [
21 "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
22 "-X github.com/cirruslabs/cirrus-cli/internal/version.Commit=v${version}"
23 ];
24
25 nativeBuildInputs = [ installShellFiles ];
26 postInstall = ''
27 installShellCompletion --cmd cirrus \
28 --bash <($out/bin/cirrus completion bash) \
29 --zsh <($out/bin/cirrus completion zsh) \
30 --fish <($out/bin/cirrus completion fish)
31 '';
32
33 # tests fail on read-only filesystem
34 doCheck = false;
35
36 meta = with lib; {
37 description = "CLI for executing Cirrus tasks locally and in any CI";
38 homepage = "https://github.com/cirruslabs/cirrus-cli";
39 license = licenses.agpl3Plus;
40 maintainers = with maintainers; [ techknowlogick ];
41 mainProgram = "cirrus";
42 };
43}