{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: buildGoModule rec { pname = "k6"; version = "0.40.0"; src = fetchFromGitHub { owner = "grafana"; repo = pname; rev = "v${version}"; sha256 = "sha256-qYWme1VepGTKuvhUtuCqkalfp1YhKDoW8sc6Co0sbHg="; }; subPackages = [ "./" ]; vendorSha256 = 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"; homepage = "https://k6.io/"; changelog = "https://github.com/grafana/k6/releases/tag/v${version}"; license = licenses.agpl3Plus; maintainers = with maintainers; [ offline bryanasdev000 ]; }; }