Its a crux!
1{
2 description = "Node.js + Vite + TypeScript development environment";
3
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6 flake-utils.url = "github:numtide/flake-utils";
7 };
8
9 outputs = { self, nixpkgs, flake-utils }:
10 flake-utils.lib.eachDefaultSystem (system:
11 let
12 pkgs = import nixpkgs { inherit system; };
13 in {
14 devShells.default = pkgs.mkShell {
15 buildInputs = [
16 pkgs.nodejs-slim
17 pkgs.pnpm
18 pkgs.corepack
19 ];
20
21 shellHook = ''
22 corepack enable
23 pnpm install --frozen-lockfile
24 '';
25 };
26 });
27}