{ fetchgit, runCommand, callPackage, mylibs, nodePackages, nodejs, git }: let source = fetchgit { url = "https://github.com/bafolts/terraforming-mars"; rev = "25b3f80e276cc0c1fc283a78b6ae94b13c545ab6"; sha256 = "03xcwvxv2mlmswngklzqp3lf30hgkvdilqq7p1z4h8xmy50cy12k"; leaveDotGit = true; fetchSubmodules = true; }; patchedSource = runCommand "patch-source" {} '' cp -r ${source} $out chmod -R u+w $out sed -i -e 's/"lockfileVersion": 2,/"lockfileVersion": 1,/' $out/package-lock.json ''; packages = callPackage ./node-packages.nix { src = patchedSource; nodeEnv = callPackage mylibs.nodeEnv {}; globalBuildInputs = [ nodePackages.node-pre-gyp ]; }; terraforming-mars = runCommand "terraforming-mars" { buildInputs = [ nodejs git ]; } '' cp -r ${source} ./source chmod -R u+w source cd source ln -s ${packages.package}/lib/node_modules/terraforming-mars/node_modules . npm run build mkdir $out cp -a build $out/ cp -a assets $out/ cp package.json $out/ ln -s ${packages.package}/lib/node_modules/terraforming-mars/node_modules $out ln -s /var/lib/terraforming-mars/db $out/db ''; in terraforming-mars