{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles, }: buildGoModule rec { pname = "tscli"; version = "0.0.15"; src = fetchFromGitHub { owner = "jaxxstorm"; repo = "tscli"; tag = "v${version}"; hash = "sha256-RsWpZYRb/6ZpOio5te7qokGJeTlSmu/MH+BVoQVbkNw="; }; vendorHash = "sha256-RELJJN2ldcUkbyskitg1y6vakdQ6mRkmT7Y25TS2sz8="; nativeBuildInputs = [ installShellFiles ]; ldflags = [ "-X=github.com/jaxxstorm/tscli/pkg/version.Version=${version}" ]; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd tscli \ --bash <($out/bin/tscli -k XXX completion bash) \ --fish <($out/bin/tscli -k XXX completion fish) \ --zsh <($out/bin/tscli -k XXX completion zsh) ''; meta = { description = "CLI tool to interact with the Tailscale API"; homepage = "https://github.com/jaxxstorm/tscli"; changelog = "https://github.com/jaxxstorm/tscli/releases/tag/${src.tag}/CHANGELOG.md"; mainProgram = "tscli"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ philiptaron ]; }; }