let modulesPath = ./generated/modules; # import-tree as before importedModules = inputs.import-tree modulesPath; allModules = builtins.attrValues importedModules.imports; # --- Import module switches --- moduleSwitches = import ./assets/system/modules.conf; # Only keep enabled modules enabledModules = lib.filterAttrs (_: mod: moduleSwitches[_] or false) allModules; getFragment = module: if builtins.hasAttr "homeManagerExtraUserFragment" module then module.homeManagerExtraUserFragment else {}; homeManagerExtraUserFragments = lib.foldl' lib.mkMerge {} (map getFragment enabledModules); in { networking.hostName = "traveldroid"; system.stateVersion = "26.05"; home-manager.users = lib.mkMerge [ (config.home-manager.users or {}) homeManagerExtraUserFragments ]; }