{ lib, nodePackages }: let linkNodeDeps = ({ pkg, deps, name ? "" }: let targetModule = if name != "" then name else lib.getName pkg; in nodePackages.${pkg}.override (oldAttrs: { postInstall = '' mkdir -p $out/lib/node_modules/${targetModule}/node_modules ${lib.concatStringsSep "\n" (map (dep: '' ln -s ${nodePackages.${dep}}/lib/node_modules/${lib.getName dep} \ $out/lib/node_modules/${targetModule}/node_modules/${lib.getName dep} '') deps )} ''; }) ); in linkNodeDeps { pkg = "@antora/cli"; name = "@antora/cli"; deps = [ "@antora/site-generator-default" ]; }