1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 testers,
6 carapace,
7 nix-update-script,
8}:
9
10buildGoModule (finalAttrs: {
11 pname = "carapace";
12 version = "1.5.0";
13
14 src = fetchFromGitHub {
15 owner = "carapace-sh";
16 repo = "carapace-bin";
17 tag = "v${finalAttrs.version}";
18 hash = "sha256-BMj0bjoqUIT4zVs6CRqeBqfSQ17NNyeE+AAtTTnv4bo=";
19 };
20
21 vendorHash = "sha256-UOqHQPF+5luabuLM95+VR+tsb1+3+MUpaJmjbZqCNvs=";
22
23 ldflags = [
24 "-s"
25 "-w"
26 "-X main.version=${finalAttrs.version}"
27 ];
28
29 subPackages = [ "./cmd/carapace" ];
30
31 tags = [ "release" ];
32
33 preBuild = ''
34 GOOS= GOARCH= go generate ./...
35 '';
36
37 passthru.updateScript = nix-update-script { };
38 passthru.tests.version = testers.testVersion { package = carapace; };
39
40 meta = with lib; {
41 description = "Multi-shell multi-command argument completer";
42 homepage = "https://carapace.sh/";
43 maintainers = with maintainers; [ mimame ];
44 license = licenses.mit;
45 mainProgram = "carapace";
46 };
47})