deferredModuleWith
lib.types.deferredModuleWith
Docs pulled from | This Revision | 16 minutes ago
options declared via config
.
Noogle detected
Implementation
The following is the current implementation of this function.
deferredModuleWith =
attrs@{
staticModules ? [ ],
}:
mkOptionType {
name = "deferredModule";
description = "module";
descriptionClass = "noun";
check = x: isAttrs x || isFunction x || path.check x;
merge = loc: defs: {
imports =
staticModules
++ map (
def: lib.setDefaultModuleLocation "${def.file}, via option ${showOption loc}" def.value
) defs;
};
inherit (submoduleWith { modules = staticModules; })
getSubOptions
getSubModules
;
substSubModules =
m:
deferredModuleWith (
attrs
// {
staticModules = m;
}
);
functor = defaultFunctor "deferredModuleWith" // {
type = types.deferredModuleWith;
payload = {
inherit staticModules;
};
binOp = lhs: rhs: {
staticModules = lhs.staticModules ++ rhs.staticModules;
};
};
};