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,19 +11,32 @@
{
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 ];
});
packages.default = config.packages.bundled;
packages.unbundled = pkgs.buildNpmPackage basePackage;
devShells.default = pkgs.mkShell {
packages = with pkgs;
[ nodejs typescript-language-server ];
[ nodejs typescript typescript-language-server ];
};
formatter = pkgs.nixpkgs-fmt;