Architecture Guidance: Many off-the-shelf templated sites I typically work on larger custom projects, but have found I have a lot of requests for projects at a lower price-point. I think I can serve this audience by creating a core Drupal installation profile, supplementing it with features, and installing one of a dozen or so custom themes I'll make.

I'd like this process to be as plug-and-play as possible. Right now I have an installation profile so all I need to do is 'git clone' the repo for that and then 'drush make' and 'drush install' to get up an running really quickly. This profile does some really basic things (sets admin theme, sets a development theme, installs an 'image gallery' feature which includes a content type and a taxonomy, etc).

So far I'm stumped on how I should develop things like layout (panels, display suite, theme templates?) and default content (devel generate?) during installation. Should I develop a base theme (I use a custom inuitCSS framework) and write sub-themes for it?

Has anyone else put anything else similar together? Do you have suggestions?

This has become a pretty complex endeavor and I'm wondering if it would be better to just build a site for each theme, zip it up and export the database.
I've made an infrastructure close to what you're describing, where we launch sites in 24h after a customer orders it.

Basically the architecture is:


Aegir on a VPS. This allows us to spin up websites, service them, migrate them and sometimes clone them without messing on the server.
An aegir platform with an install profile for our use case
A generic zen subtheme for our use case with a bundle of front-end code
Sweaver CSS for the layout customization of the specific site
A basic features module that is installed by the install profile and multiple optional feature modules with extra views and content types, layouts managed by contexts, that administrators toggle using Feature Sets.
Some additional optional contrib-space modules for things like node access customization


I try to avoid Panels as much as possible because of how much complication it adds. If you absolutely want your users to create fancy layouts, that may be a good choice, but at low price points the users have little tolerance for complicated usage. You might just be creating a lot of failure demand on yourself.

If you're going to just zip up sites, at least give Aegir and site cloning a chance first. You're going to save yourself a lot of work.