I used the existing anchors generated by Docbook, so the anchor part should be a no-op. This could be useful depending on the infrastructure we choose to use, and it is better to be explicit than rely on Docbook's id generating algorithms. I got rid of the metadata segments of the Markdown files, because they are outdated, inaccurate, and could make people less willing to change them without speaking with the author.
2.3 KiB
Node.js
The pkgs/development/node-packages
folder contains a generated collection of
NPM packages that can be installed with the Nix package
manager.
As a rule of thumb, the package set should only provide end user software packages, such as command-line utilities. Libraries should only be added to the package set if there is a non-NPM package that requires it.
When it is desired to use NPM libraries in a development project, use the
node2nix
generator directly on the package.json
configuration file of the
project.
The package set provides support for the official stable Node.js versions.
The latest stable LTS release in nodePackages
, as well as the latest stable
Current release in nodePackages_latest
.
If your package uses native addons, you need to examine what kind of native build system it uses. Here are some examples:
node-gyp
node-gyp-builder
node-pre-gyp
After you have identified the correct system, you need to override your package
expression while adding in build system as a build input. For example, dat
requires node-gyp-build
, so we override its expression in default.nix
:
dat = super.dat.override {
buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
meta.broken = since "12";
};
To add a package from NPM to nixpkgs:
- Modify
pkgs/development/node-packages/node-packages.json
to add, update or remove package entries to have it included innodePackages
andnodePackages_latest
. - Run the script:
(cd pkgs/development/node-packages && ./generate.sh)
. - Build your new package to test your changes:
cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>
. To build against the latest stable Current Node.js version (e.g. 14.x):nix-build -A nodePackages_latest.<new-or-updated-package>
- Add and commit all modified and generated files.
For more information about the generation process, consult the
README.md file of the node2nix
tool.