{ lib, buildGoModule, fetchFromGitHub, testers, carapace }: buildGoModule rec { pname = "carapace"; version = "0.29.0"; src = fetchFromGitHub { owner = "rsteube"; repo = "${pname}-bin"; rev = "v${version}"; hash = "sha256-eLdS3PIJYmG/U2LEU7C3vYoJsP6bpgSFUK8TH/HWekk="; }; vendorHash = "sha256-16dzHcX6EZhV1wV4lhrJXNNT1ThR5RK47Y4FJr8kcXE="; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; subPackages = [ "./cmd/carapace" ]; tags = [ "release" ]; preBuild = '' GOOS= GOARCH= go generate ./... ''; passthru.tests.version = testers.testVersion { package = carapace; }; meta = with lib; { description = "Multi-shell multi-command argument completer"; homepage = "https://rsteube.github.io/carapace-bin/"; maintainers = with maintainers; [ star-szr ]; license = licenses.mit; mainProgram = "carapace"; }; }