{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: buildGoModule rec { pname = "vultr-cli"; version = "3.0.3"; src = fetchFromGitHub { owner = "vultr"; repo = pname; rev = "v${version}"; hash = "sha256-6OVigI2eHE8qFC5nmH67NcKkDD0iFXl3ynYJyFcpmGw="; }; vendorHash = "sha256-MDzYiLMYoR9qOTPVnlzTDbgVvg72HDP2DpM6NKUFNdg="; nativeBuildInputs = [ installShellFiles ]; ldflags = [ "-s" "-w" ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd vultr-cli \ --bash <($out/bin/vultr-cli completion bash) \ --fish <($out/bin/vultr-cli completion fish) \ --zsh <($out/bin/vultr-cli completion zsh) ''; meta = with lib; { description = "Official command line tool for Vultr services"; homepage = "https://github.com/vultr/vultr-cli"; changelog = "https://github.com/vultr/vultr-cli/blob/v${version}/CHANGELOG.md"; license = licenses.asl20; maintainers = with maintainers; [ Br1ght0ne ]; mainProgram = "vultr-cli"; }; }