I am trying to refactor the chromium derivation to address issue #276884, and I am a struggling to understand how part of it works. The default.nix file is the wrapper, but it also contains quite a bit of logic in let
bindings around calling common.nix
and browser.nix
, which is what I think needs to be split out into a separate file. The tricky bit is the mutually-recursive relationship between callPackage
and chromium
. callPackage
is defined as newScope chromium
, but chromium
is defined in terms of this callPackage
function.
@networkException @emilylange are you able to help me understand why this has been done this way?