From 8cf96c428236955fc6b111cff572634fe58cdb08 Mon Sep 17 00:00:00 2001 From: EatThePooh Date: Wed, 25 Feb 2026 14:45:40 +0700 Subject: [PATCH] option to bundle runtime deps --- flake.nix | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/flake.nix b/flake.nix index 2476f55..a8a0e0d 100644 --- a/flake.nix +++ b/flake.nix @@ -11,23 +11,36 @@ { systems = [ "x86_64-linux" ]; - perSystem = { config, system, pkgs, ... }: - { - packages.default = pkgs.buildNpmPackage { + perSystem = { config, system, pkgs, lib, ... }: + let + runtimeDeps = [ ]; # e. g. pkgs.jq + runtimePath = lib.makeSearchPath "bin" runtimeDeps; + + basePackage = { pname = "name-placeholder"; version = "0.1.0"; src = ./.; npmDepsHash = "sha256-EvM5ZyNQEW8RYFCfI7Bkju1qL+1y8nleXPAX3IKce78="; npmBuildScript = "build"; }; + in + { + # runtime deps included + packages.bundled = pkgs.buildNpmPackage (basePackage // { + makeWrapperArgs = [ "--prefix" "PATH" ":" runtimePath ]; + }); - devShells.default = pkgs.mkShell { - packages = with pkgs; - [ nodejs typescript-language-server ]; + packages.default = config.packages.bundled; + + packages.unbundled = pkgs.buildNpmPackage basePackage; + + devShells.default = pkgs.mkShell { + packages = with pkgs; + [ nodejs typescript typescript-language-server ]; + }; + + formatter = pkgs.nixpkgs-fmt; }; - - formatter = pkgs.nixpkgs-fmt; - }; } ); }