diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/volta/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/volta/default.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/volta/default.nix b/nixpkgs/pkgs/development/tools/volta/default.nix new file mode 100644 index 000000000000..b61347c05f2e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/volta/default.nix @@ -0,0 +1,58 @@ +{ + lib, + rustPlatform, + libiconv, + stdenv, + installShellFiles, + darwin, + fetchFromGitHub, +}: +rustPlatform.buildRustPackage rec { + pname = "volta"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "volta-cli"; + repo = "volta"; + rev = "v${version}"; + hash = "sha256-+j3WRpunV+3YfZnyuKA/CsiKr+gOaP2NbmnyoGMN+Mg="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "detect-indent-0.1.0" = "sha256-qtPkPaBiyuT8GhpEFdU7IkAgKnCbTES0FB2CvNKWqic="; + "semver-0.9.0" = "sha256-nw1somkZe9Qi36vjfWlTcDqHAIbaJj72KBTfmucVxXs="; + "semver-parser-0.10.0" = "sha256-iTGnKSddsriF6JS6lvJNjp9aDzGtfjrHEiCijeie3uE="; + }; + }; + + buildInputs = [ installShellFiles ] + ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security libiconv ]; + + HOME = "$TMPDIR"; + + postInstall = '' + installShellCompletion --cmd volta \ + --bash <($out/bin/volta completions bash) \ + --fish <($out/bin/volta completions fish) \ + --zsh <($out/bin/volta completions zsh) + ''; + meta = with lib; { + description = "The Hassle-Free JavaScript Tool Manager"; + longDescription = '' + With Volta, you can select a Node engine once and then stop worrying + about it. You can switch between projects and stop having to manually + switch between Nodes. You can install npm package binaries in your + toolchain without having to periodically reinstall them or figure out why + they’ve stopped working. + + Note: Volta cannot be used on NixOS out of the box because it downloads + Node binaries that assume shared libraries are in FHS standard locations. + ''; + homepage = "https://volta.sh/"; + changelog = "https://github.com/volta-cli/volta/blob/main/RELEASES.md"; + license = with licenses; [ bsd2 ]; + maintainers = with maintainers; [ fbrs ]; + }; +} |