Reusable Nix flake for official Node.js LTS binaries.
It packages the upstream Node release archives directly and exposes both a moving current-LTS package and an exact versioned package attr for downstream pinning.
packages.<system>.defaultpackages.<system>.nodejsLtspackages.<system>.nodejs_v24_14_0apps.<system>.defaultoverlays.default
The exact-version attr updates when version.json changes.
x86_64-linuxaarch64-linuxx86_64-darwinaarch64-darwin
Windows is intentionally out of scope for v1.
Run Node directly:
nix run github:your-org/nodejslts-nixInstall the current LTS package:
nix profile add github:your-org/nodejslts-nixUse the exact pinned version:
nix profile add github:your-org/nodejslts-nix#nodejs_v24_14_0Use as a flake input:
{
inputs.nodejslts-nix.url = "github:your-org/nodejslts-nix";
outputs = { self, nixpkgs, nodejslts-nix, ... }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [ nodejslts-nix.overlays.default ];
};
in {
devShells.${system}.default = pkgs.mkShell {
packages = [ pkgs.nodejsLts ];
};
};
}Enter the maintenance shell:
nix developRun the repo checks:
nix flake checkCheck for a newer LTS release:
nix develop --command ./update.shUpdate to the latest LTS release:
nix develop --command ./update.sh --updateversion.json is the source of truth for:
- the pinned Node version
- the LTS codename
- the exact package attr name
- the upstream asset name per platform
- the Nix fetch hash per platform
The update workflow regenerates version.json from the official Node release
index and SHASUMS256.txt.
The flake code in this repository is MIT licensed. Node.js itself is packaged from official upstream releases; see the upstream project for runtime licensing details and notices.