inputs: with builtins; let aspects = [ ./autopatch ./brig ./cockpit ./desktop ./firewall ./games ./hardened ./hyprspace ./idm ./impurity-logger ./ipfs ./jackett ./laptop-config ./lidarr ./networking-client ./nextcloud-client ./nix-builder ./nix-config ./nix-register-flakes ./nm-vdns-auto ./persistence ./prowlarr ./shell-config ./sound ./ssh ./xr ]; mappedAspects = map (x: { name = baseNameOf x; value = import x; }) aspects; in rec { modules = listToAttrs mappedAspects; sets = with modules; rec { base = [ autopatch cockpit hardened idm impurity-logger ]; networking = [ firewall ssh ]; client-networking = networking ++ [ networking-client nm-vdns-auto ipfs hyprspace ]; desktop = [ modules.desktop inputs.home-manager.nixosModules.home-manager nextcloud-client nix-register-flakes nix-config shell-config sound xr ] ++ base ++ client-networking; laptop = desktop ++ [ laptop-config ]; }; }