{ config, lib, inputs, ... }: let modulesPath = ./generated/parked; # Laad alle modules importedModules = inputs.import-tree modulesPath; # Laad module switches moduleSwitches = import ./assets/system/modules.conf; # Filter ingeschakelde modules en zorg dat het een attrset blijft enabledModules = lib.filterAttrs (name: _: (moduleSwitches.${name} or false)) importedModules.imports; # Converteer naar lijst (voor foldl'), maar check dat elk fragment een attrset is moduleList = builtins.attrValues enabledModules; # Haal Home Manager fragments veilig op getFragment = module: if builtins.hasAttr "homeManagerExtraUserFragment" module then let frag = module.homeManagerExtraUserFragment; in if builtins.isAttrs frag then frag else {} else {}; homeManagerExtraUserFragments = lib.foldl' lib.mkMerge {} (map getFragment moduleList); in { networking.hostName = "traveldroid"; system.stateVersion = "26.05"; home-manager.users = lib.mkMerge [ homeManagerExtraUserFragments ]; }