{ buildGoModule, fetchFromGitHub, stdenv, lib, installShellFiles, }: buildGoModule rec { pname = "fly"; version = "7.14.2"; src = fetchFromGitHub { owner = "concourse"; repo = "concourse"; rev = "v${version}"; hash = "sha256-lm4l+9hYOFKt12KaOs/5R4zymya82Tb4q1k3leyG2UA="; }; vendorHash = "sha256-2busKAFaQYE82XKCAx8BGOMjjs8WzqIxdpz+J45maoc="; subPackages = [ "fly" ]; ldflags = [ "-s" "-w" "-X github.com/concourse/concourse.Version=${version}" ]; nativeBuildInputs = [ installShellFiles ]; doCheck = false; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd fly \ --bash <($out/bin/fly completion --shell bash) \ --fish <($out/bin/fly completion --shell fish) \ --zsh <($out/bin/fly completion --shell zsh) ''; meta = with lib; { description = "Command line interface to Concourse CI"; mainProgram = "fly"; homepage = "https://concourse-ci.org"; license = licenses.asl20; maintainers = with maintainers; [ ivanbrennan SuperSandro2000 ]; }; }