self: {nix ? null}: final: prev: let inherit (builtins) functionArgs mapAttrs replaceStrings; inherit (final.lib) generateSplicesForMkScope head splitString versions; inherit (self.inputs) nix-eval-jobs nix-fast-build; nullCheck = n: v: if nix == null then prev.${n} else v; # This is for packages from flakes that don't offer overlays overrideAll = pkg: extraArgs: let pkgFile = head (splitString [":"] pkg.meta.position); args = functionArgs (import pkgFile); in pkg.override (mapAttrs (n: v: final.${n} or v) (args // extraArgs)); in mapAttrs nullCheck { inherit nix; nix-serve = prev.nix-serve-ng.override { inherit nix; }; nix-output-monitor = prev.nix-output-monitor.overrideAttrs (o: { postPatch = '' ${o.postPatch} sed -i 's/.*" nom hasn‘t detected any input. Have you redirected nix-build stderr into nom? (See -h and the README for details.)".*//' ./lib/NOM/Print.hs ''; }); nix-eval-jobs = (overrideAll nix-eval-jobs.packages.${final.system}.default { srcDir = null; nixComponents = let generateSplicesForNixComponents = nixComponentsAttributeName: generateSplicesForMkScope [ "nixVersions" nixComponentsAttributeName ]; in final.nixDependencies.callPackage "${final.path}/pkgs/tools/package-management/nix/modular/packages.nix" { inherit (nix) src version; inherit (nix.meta) maintainers; otherSplices = generateSplicesForNixComponents "nixComponents_${ replaceStrings ["."] ["_"] (versions.majorMinor nix.version) }"; }; }) // {inherit nix;}; nix-fast-build = overrideAll nix-fast-build.packages.${final.system}.nix-fast-build {}; }