diff --git a/pkgs/tools/networking/globalping-cli/default.nix b/pkgs/tools/networking/globalping-cli/default.nix new file mode 100644 index 000000000000..bc07f20a5b11 --- /dev/null +++ b/pkgs/tools/networking/globalping-cli/default.nix @@ -0,0 +1,38 @@ +{ lib, buildGoModule, fetchFromGitHub, installShellFiles, nix-update-script }: + +buildGoModule rec { + pname = "globalping-cli"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "jsdelivr"; + repo = pname; + rev = "v${version}"; + hash = "sha256-UY+SAmkE8h/K92Em5iikcMiNixkqnDVkhlrKVq1ZkVM="; + }; + + vendorHash = "sha256-fUB7WIEAPBot8A2f7WQ5wUDtCrOydZd4nd4qDuy1vzg="; + + nativeBuildInputs = [ installShellFiles ]; + + CGO_ENABLED = 0; + ldflags = [ "-s" "-w" "-X main.version=${version}" ]; + + postInstall = '' + mv $out/bin/${pname} $out/bin/globalping + installShellCompletion --cmd globalping \ + --bash <($out/bin/globalping completion bash) \ + --fish <($out/bin/globalping completion fish) \ + --zsh <($out/bin/globalping completion zsh) + ''; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + description = "A simple CLI tool to run networking commands remotely from hundreds of globally distributed servers"; + homepage = "https://www.jsdelivr.com/globalping/cli"; + license = licenses.mpl20; + maintainers = with maintainers; [ xyenon ]; + mainProgram = "globalping"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 72d67f1bad72..6a76ab777972 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2361,6 +2361,8 @@ with pkgs; glitter = callPackage ../applications/version-management/glitter { }; + globalping-cli = callPackage ../tools/networking/globalping-cli { }; + gst = callPackage ../applications/version-management/gst { }; gut = callPackage ../applications/version-management/gut { };