{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: buildGoModule rec { pname = "k6"; version = "0.50.0"; src = fetchFromGitHub { owner = "grafana"; repo = pname; rev = "v${version}"; hash = "sha256-lR16M8TAP0ilvcrA9YjVoZMrsi+kwEFKx5Fd3birHHM="; }; subPackages = [ "./" ]; vendorHash = null; nativeBuildInputs = [ installShellFiles ]; doInstallCheck = true; installCheckPhase = '' $out/bin/k6 version | grep ${version} > /dev/null ''; postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) '' installShellCompletion --cmd k6 \ --bash <($out/bin/k6 completion bash) \ --fish <($out/bin/k6 completion fish) \ --zsh <($out/bin/k6 completion zsh) ''; meta = with lib; { description = "A modern load testing tool, using Go and JavaScript"; mainProgram = "k6"; homepage = "https://k6.io/"; changelog = "https://github.com/grafana/k6/releases/tag/v${version}"; license = licenses.agpl3Plus; maintainers = with maintainers; [ offline bryanasdev000 kashw2 ]; }; }