{ description = "nodejs app"; inputs = { flake-utils.url = "github:numtide/flake-utils"; nixpkgs.url = "nixpkgs"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ (final: prev: { nodejs = prev.nodejs-18_x; }) # <== Set desired node version here ]; }; libraries = with pkgs; [ webkitgtk gtk3 cairo gdk-pixbuf glib dbus openssl_3 cargo rustc ]; packages = with pkgs; [ curl git wget pkg-config dbus openssl_3 glib gtk3 libsoup webkitgtk cargo rustc nodejs nodePackages.pnpm nixpkgs-fmt just ]; in { devShell = pkgs.mkShell { buildInputs = packages; shellHook = '' export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath libraries}:$LD_LIBRARY_PATH ''; }; }); }