Language-specific package helpers: Difference between revisions
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/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
- hex2nix
- nix-rebar3 Builds rebar3 projects, without any Nix code generation.
Go
Haskell
- cabal2nix
- haskell-overridez - Simplify usage of nix dependencies during haskell development
- snack
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:
- pypi2nix - Generate Nix expressions for Python packages
- python2nix
- nix-pip
- mach-nix - Create reproducible python environments from `requirements.txt` (using Nix)
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.