You can deactivate modules for individual users in the User document. It’s a manual process, however, and it must be done for each new user that gets created.
At a system level, the only way I’ve figured out (short of editing source files) is to create a new custom Workspace document for each module. In each one, make sure that the “Extends” option is ticked to positive, that the “based on” is set to the module workspace you want to remove, that the “is default” is set to true, and that the workspace content is empty.
What you’re doing here is overriding the workspace for all users with a custom blank one. By default, the desk won’t show blank workspaces, so you’ll end up with a much cleaner screen. From there, you can build up your own workspaces as you see fit.
Wish there were a better way!