Files
nixos/Droidnix/debug-modules.nix
T
2026-03-20 15:40:17 +00:00

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