nixpkgs-suyu/pkgs/development/node-packages/default.nix
2023-05-04 19:08:44 -04:00

28 lines
769 B
Nix

{ 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)