about summary refs log tree commit diff
path: root/pkgs/development/node-packages/default.nix
blob: 506dc8a525caa7eb4db64cd9f37667af4c77b422 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{ config, pkgs, lib, nodejs, stdenv }:

let
  inherit (lib) composeManyExtensions extends makeExtensible mapAttrs;

  nodePackages = final: import ./composition.nix {
    inherit pkgs nodejs;
    inherit (stdenv.hostPlatform) system;
  };

  mainProgramOverrides = final: prev:
    mapAttrs (pkgName: mainProgram:
      prev.${pkgName}.override (oldAttrs: {
        meta = oldAttrs.meta // { inherit mainProgram; };
      })
    ) (import ./main-programs.nix);

  aliases = final: prev:
    lib.optionalAttrs config.allowAliases
      (import ./aliases.nix pkgs lib final prev);

  extensions = composeManyExtensions [
    aliases
    mainProgramOverrides
    (import ./overrides.nix { inherit pkgs nodejs; })
  ];
in
  makeExtensible (extends extensions nodePackages)