Node.js
Catalog v8.
Installs Node.js with npm, npx, and the TypeScript/JavaScript language server.
Select
[toolchains]
nodejs = "26"Choose the line in the [toolchains] table of limanix.toml and apply the change. The client guide describes the [toolchains] table.
Versions
The value selects one line:
| Value | Node.js | Notes |
|---|---|---|
26 | 26.x | Recommended |
24 | 24.x | |
22 | 22.x |
Lines marked .x come from the base Nixpkgs revision and receive its patch releases with each catalog release.
Each line includes npm and npx for its Node.js version. Support status follows the Node.js release lifecycle. Selecting an end-of-life line prints a warning when the VM is built.
Use
Inside the VM, run from a directory that contains package.json:
npm install
npm run buildnpm install installs the project's dependencies, and npm run build runs the project's build script, if it defines one.
Language server
The module installs typescript-language-server from the catalog's base Nixpkgs revision. Its packaged Node.js runtime and fallback TypeScript compiler follow that revision independently of the selected Node.js line. It declares the typescript-language-server tool with --stdio under lmx.capabilities.languageSupport for JavaScript and TypeScript. Selecting AstroNvim alongside Node.js enables the declared server; installing Node.js alone does not enable an editor. Projects may supply their own TypeScript version; see the server's configuration reference.
An ordinary user definition may replace the complete tool declaration, including its package, command, and arguments. The final declared package is also installed in the system profile.
Native dependencies
npm packages built with node-gyp need Python, make and a C/C++ compiler: select GCC and Python next to Node.js in [toolchains], and add the libraries an addon links against to [nixos] packages. Prebuilt programs in npm packages can also need system libraries; see Handle native dependencies.
Configuration and integration
| Boundary | Contract |
|---|---|
| Public capability | lmx.capabilities.languageSupport.tools.typescript-language-server; JavaScript, TypeScript and TSX parsers |
| Personal state | Project node_modules, lock files and package-manager caches |
| Integration | Declares the server without enabling an editor; versioned npm/npx run the matching Node.js line |
| Services | No daemon |
Corner cases
| Case | Behavior or next step |
|---|---|
| node-gyp build fails | Select gcc and python in [toolchains]; add the native libraries the project needs to [nixos] packages |
| Unexpected compiler version | The server uses the project TypeScript version when configured; its fallback follows base Nixpkgs |
