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