{ lib, config, inputs,... }: # Standaard username let username = config.defaultUser or "henrov"; # Modules directory en switches modulesPath = ./generated/parked; importedModules = inputs.import-tree.default modulesPath; moduleSwitches = import ./assets/system/modules.conf; # Alleen de ingeschakelde modules enabledModules = lib.filterAttrs (name: _: moduleSwitches.${name} or false) importedModules.imports; # Zet modules om naar lijst moduleList = builtins.attrValues enabledModules; # Haal home-manager fragmenten op en zorg dat het altijd attrsets zijn getFragment = module: if builtins.hasAttr "homeManagerExtraUserFragment" module then module.homeManagerExtraUserFragment else {}; safeFragments = map (frag: if builtins.isAttrs frag then frag else {} ) (map getFragment moduleList); # Merge alle fragments homeManagerExtraUserFragments = lib.foldl' lib.mkMerge {} safeFragments; in { networking.hostName = "traveldroid"; system.stateVersion = "26.05"; home-manager.users = homeManagerExtraUserFragments; }