Language-specific package helpers: Difference between revisions

From NixOS Wiki
imported>Mic92
update rust helper
imported>Solidgumby
mach-nix is unmaintained as stated on their README
Line 43: Line 43:
* [https://github.com/nix-community/poetry2nix poetry2nix] - poetry2nix turns Poetry projects into Nix derivations without the need to actually write Nix expressions.
* [https://github.com/nix-community/poetry2nix poetry2nix] - poetry2nix turns Poetry projects into Nix derivations without the need to actually write Nix expressions.
* [https://github.com/nix-community/nixpkgs-pytools nixpkgs-pytools] - semi-automated way to add python packages to nixpkgs.
* [https://github.com/nix-community/nixpkgs-pytools nixpkgs-pytools] - semi-automated way to add python packages to nixpkgs.
* [https://github.com/DavHau/mach-nix mach-nix] - Create reproducible python environments from `requirements.txt` (using Nix)
* [https://github.com/cript0nauta/pynixify pynixify] - Create a nixpkgs overlay with human-readable expressions for each package
* [https://github.com/cript0nauta/pynixify pynixify] - Create a nixpkgs overlay with human-readable expressions for each package
* [https://github.com/johbo/pip2nix pip2nix] - Generate nix expressions for Python packages.
* [https://github.com/johbo/pip2nix pip2nix] - Generate nix expressions for Python packages.
Line 51: Line 50:
* [https://github.com/proger/python2nix python2nix]
* [https://github.com/proger/python2nix python2nix]
* [https://github.com/badi/nix-pip nix-pip]
* [https://github.com/badi/nix-pip nix-pip]
* [https://github.com/DavHau/mach-nix mach-nix] - Create reproducible python environments from `requirements.txt` (using Nix)


=== Ruby ===
=== Ruby ===

Revision as of 16:04, 23 November 2023

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
  • yarn-based (carry the same name but different implementations), yarn is a drop-in for `npm`:
  • bower2nix

PureScript

Lua

OCaml

Perl

Python

  • poetry2nix - poetry2nix turns Poetry projects into Nix derivations without the need to actually write Nix expressions.
  • nixpkgs-pytools - semi-automated way to add python packages to nixpkgs.
  • pynixify - Create a nixpkgs overlay with human-readable expressions for each package
  • pip2nix - Generate nix expressions for Python packages.

Abandoned / discontinued:

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".
  • cargo2nix Uses a `mkCrate` wrapper around Cargo and `rustc` to build all dependencies independently. Supports cross-compilation, alternative registries, and `nix-shell` integration.
  • crane Builds rust crate dependencies in one derivation and the crate itself in another. Boilerplate setup for running test suites.

Scala