{ lib , stdenv , buildGoModule , fetchFromGitHub , installShellFiles }: buildGoModule rec { pname = "nsc"; version = "2.8.0"; src = fetchFromGitHub { owner = "nats-io"; repo = pname; rev = "v${version}"; hash = "sha256-8TBg5ByR4d/AvJOiADW068W40wN7ggRT8LbZFfHeqz4="; }; ldflags = [ "-s" "-w" "-X main.version=v${version}" "-X main.builtBy=nixpkgs" ]; vendorHash = "sha256-Yywurr+RM96qJGH/WvuLDtf6bLzw9C5hG2d0ID9w1pQ="; nativeBuildInputs = [ installShellFiles ]; postInstall = '' installShellCompletion --cmd nsc \ --bash <($out/bin/nsc completion bash) \ --fish <($out/bin/nsc completion fish) \ --zsh <($out/bin/nsc completion zsh) ''; preCheck = '' # Tests attempt to write to the home directory. export HOME=$(mktemp -d) ''; meta = { description = "A tool for creating NATS account and user access configurations"; homepage = "https://github.com/nats-io/nsc"; license = with lib.licenses; [ asl20 ]; maintainers = with lib.maintainers; [ cbrewster ]; mainProgram = "nsc"; broken = stdenv.isDarwin; }; }