inputs: with builtins; let aspects = [ ./autopatch ./brig ./desktop ./firewall ./games ./hardened ./hyprspace ./idm ./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 ]; mappedAspects = map (x: { name = baseNameOf x; value = import x; }) aspects; in rec { modules = listToAttrs mappedAspects; sets = with modules; rec { base = [ autopatch hardened idm ]; networking = [ firewall ssh ]; client-networking = networking ++ [ networking-client nm-vdns-auto ipfs hyprspace ]; desktop = [ modules.desktop inputs.home-manager.nixosModules.home-manager brig nextcloud-client nix-register-flakes nix-config shell-config sound ] ++ base ++ client-networking; laptop = desktop ++ [ laptop-config ]; }; }