The top-level package set ideally contains only packages. It however also contains functions and package sets and probably other attributes as well.
Several times the question came up, how can we perform a package set wide override? I recall there have been PR’s demonstrating USE flags approaches as well.
In this post I consider a specific case, where packages need
mkl. In PR’s it has been proposed to, in an overlay, simply set
mklSupport = true; in the top-level set. This functions, because
callPackage handles it.
Should we document this as “the way” or not? If not, we do need to think of a solution. Maybe use
config values and let
callPackage consider those as well?