{ lib, customConfig, ... }: let username = customConfig.username; dotconfigPath = ../../dotconfig; dotconfigEntries = lib.filterAttrs (name: _: !(lib.hasPrefix "." name)) (builtins.readDir dotconfigPath); mkConfigEntry = name: type: lib.nameValuePair name ( { source = dotconfigPath + "/${name}"; force = true; } // lib.optionalAttrs (type == "directory") { recursive = true; } ); in { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "hm-backup"; home-manager.users.${username} = { home.stateVersion = "24.05"; xdg.enable = true; xdg.configFile = lib.mapAttrs' mkConfigEntry dotconfigEntries; }; }