All Node.js versions, kept up-to-date automatically using Nix.
Inspired by nixpkgs-terraform, nixpkgs-python, and nixpkgs-ruby.
- 🔄 Automatic Updates: Automatic updates via GitHub Actions
- 📦 Binary Cache: Pre-built packages via Cachix
- 🎯 Version Precision: Access any Node.js version from 16.0.0+
- 🔒 Reproducible: Locked to specific nixpkgs commits
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-nodejs.url = "github:davidnbr/nixpkgs-nodejs";
};
outputs = { self, nixpkgs, nixpkgs-nodejs }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.${system}.default = pkgs.mkShell {
packages = [
nixpkgs-nodejs.packages.${system}."20.11.0"
];
};
};
}nix shell github:davidnbr/nixpkgs-nodejs#"20.11.0"nix flake show github:davidnbr/nixpkgs-nodejsAdd to your flake.nix:
nixConfig = {
extra-substituters = ["https://nixpkgs-nodejs.cachix.org"];
extra-trusted-public-keys = [
"nixpkgs-nodejs.cachix.org-1:zUIFXIRHGVtNSAhYWPDOIpr/4hAvhUEfcRo78RWDgiI="
];
};Or configure globally in ~/.config/nix/nix.conf:
extra-substituters = https://nixpkgs-nodejs.cachix.org
extra-trusted-public-keys = nixpkgs-nodejs.cachix.org-1:YzUIFXIRHGVtNSAhYWPDOIpr/4hAvhUEfcRo78RWDgiI=
Build a specific version:
nix build .#"20.11.0"MIT