at 24.11-pre 28 lines 769 B view raw
1{ config, pkgs, lib, nodejs, stdenv }: 2 3let 4 inherit (lib) composeManyExtensions extends makeExtensible mapAttrs; 5 6 nodePackages = final: import ./composition.nix { 7 inherit pkgs nodejs; 8 inherit (stdenv.hostPlatform) system; 9 }; 10 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); 17 18 aliases = final: prev: 19 lib.optionalAttrs config.allowAliases 20 (import ./aliases.nix pkgs lib final prev); 21 22 extensions = composeManyExtensions [ 23 aliases 24 mainProgramOverrides 25 (import ./overrides.nix { inherit pkgs nodejs; }) 26 ]; 27in 28 makeExtensible (extends extensions nodePackages)