option to bundle runtime deps

This commit is contained in:
EatThePooh 2026-02-25 14:45:40 +07:00
parent e4868359d9
commit 8cf96c4282

View file

@ -11,23 +11,36 @@
{ {
systems = [ "x86_64-linux" ]; systems = [ "x86_64-linux" ];
perSystem = { config, system, pkgs, ... }: perSystem = { config, system, pkgs, lib, ... }:
{ let
packages.default = pkgs.buildNpmPackage { runtimeDeps = [ ]; # e. g. pkgs.jq
runtimePath = lib.makeSearchPath "bin" runtimeDeps;
basePackage = {
pname = "name-placeholder"; pname = "name-placeholder";
version = "0.1.0"; version = "0.1.0";
src = ./.; src = ./.;
npmDepsHash = "sha256-EvM5ZyNQEW8RYFCfI7Bkju1qL+1y8nleXPAX3IKce78="; npmDepsHash = "sha256-EvM5ZyNQEW8RYFCfI7Bkju1qL+1y8nleXPAX3IKce78=";
npmBuildScript = "build"; npmBuildScript = "build";
}; };
in
{
# runtime deps included
packages.bundled = pkgs.buildNpmPackage (basePackage // {
makeWrapperArgs = [ "--prefix" "PATH" ":" runtimePath ];
});
devShells.default = pkgs.mkShell { packages.default = config.packages.bundled;
packages = with pkgs;
[ nodejs typescript-language-server ]; 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;
};
} }
); );
} }