Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / node-packages / default.nix
blob506dc8a525caa7eb4db64cd9f37667af4c77b422
1 { config, pkgs, lib, nodejs, stdenv }:
3 let
4   inherit (lib) composeManyExtensions extends makeExtensible mapAttrs;
6   nodePackages = final: import ./composition.nix {
7     inherit pkgs nodejs;
8     inherit (stdenv.hostPlatform) system;
9   };
11   mainProgramOverrides = final: prev:
12     mapAttrs (pkgName: mainProgram:
13       prev.${pkgName}.override (oldAttrs: {
14         meta = oldAttrs.meta // { inherit mainProgram; };
15       })
16     ) (import ./main-programs.nix);
18   aliases = final: prev:
19     lib.optionalAttrs config.allowAliases
20       (import ./aliases.nix pkgs lib final prev);
22   extensions = composeManyExtensions [
23     aliases
24     mainProgramOverrides
25     (import ./overrides.nix { inherit pkgs nodejs; })
26   ];
28   makeExtensible (extends extensions nodePackages)