I think the best way to approach this is to have to different categories for software modules. Global software which will be installed for all clients, and local software which each client will be able to choose to install or not. An example of the Global software would be phpmyadmin, etc. And an example of local software would be drupal, mediawiki, etc.
Till, I realize you're busy. But if you could help figure out the best solution to the local software module setup, and also a way to setup modules for global software, I would be able to replicate these modules to many other pieces of software.
I would think global software would include:
-RoundCube, Squirrelmail, etc. With the client getting the choice which one would be used under the default /webmail/ folder.
And local software would include:
I'm sure kalua and I could setup a bunch of these rather quickly if we had a template to use.