Language-specific package helpers: Difference between revisions

From NixOS Wiki
imported>Mic92
add snack
imported>Mic92
Napalm is what you need for nodejs
Line 19: Line 19:


=== JavaScript / Node.js ===
=== JavaScript / Node.js ===
* [https://github.com/svanderburg/node2nix node2nix]
* [https://github.com/svanderburg/node2nix node2nix], Recommend for use in nixpkgs
* [https://github.com/nmattia/napalm napalm], Imports package-lock.json into nix directly
* [https://github.com/NixOS/npm2nix npm2nix]
* [https://github.com/NixOS/npm2nix npm2nix]
* yarn-based (carry the same name but different implementations), yarn is a drop-in for `npm`:
* yarn-based (carry the same name but different implementations), yarn is a drop-in for `npm`:

Revision as of 06:59, 12 February 2020

The official overview can be found in the nixpkgs manual.

Elisp

Erlang

Go

Haskell

JavaScript / Node.js

  • node2nix, Recommend for use in nixpkgs
  • napalm, Imports package-lock.json into nix directly
  • npm2nix
  • yarn-based (carry the same name but different implementations), yarn is a drop-in for `npm`:
  • bower2nix

Lua

OCaml

Perl

Python

Ruby

Rust

  • naersk Pure nix, works well with dependencies from crates.io. Builds rust crates dependencies in one derivation and the crate itself in another.
  • crate2nix Uses `buildRustCrate` from `nixpkgs` to build all dependencies independently. Either check in the generated build file or use it via "import from derivation".
  • carnix documentation - Recommended by the docs (which are unfortunately outdated), also integrated into nixpkgs.

Outdated or deprecated projects:

Scala