36 lines
964 B
Nix
36 lines
964 B
Nix
{ lib, inputs }:
|
|
|
|
let
|
|
modulesPath = ./generated/parked;
|
|
importedModules = inputs.import-tree modulesPath;
|
|
moduleSwitches = import ./assets/system/modules.conf;
|
|
|
|
enabledModules =
|
|
lib.filterAttrs (name: _: moduleSwitches.${name} or false)
|
|
importedModules.imports;
|
|
|
|
moduleList = builtins.attrValues enabledModules;
|
|
|
|
debugFragment = module:
|
|
let
|
|
frag =
|
|
if builtins.hasAttr "homeManagerExtraUserFragment" module
|
|
then module.homeManagerExtraUserFragment
|
|
else {};
|
|
evaluated =
|
|
if builtins.isFunction frag then frag {} else frag;
|
|
isAttrs = builtins.isAttrs evaluated;
|
|
isList = builtins.isList evaluated;
|
|
isThunk = builtins.isFunction frag;
|
|
in
|
|
{
|
|
name = if builtins.hasAttr "name" module then module.name else "unknown";
|
|
isAttrs = isAttrs;
|
|
isList = isList;
|
|
isThunk = isThunk;
|
|
};
|
|
|
|
debugList = map debugFragment moduleList;
|
|
in
|
|
debugList
|