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})