Config is a little confusing. The goals and contraints are like so:
A file to start the config's so less-techical folks can tweak common settings. Currently roles/config.yml.
A way to change config fil entries from command line, so that one-liners can be used to set up environment (Easy communication via text channels like README's, issue queues, and irc). Currently done with settings envvars before vagrant commands:
clean=true branch=123-my-feature vagrant provision
Ability to keep the config file in the roles/ directory, since this is one of the directories that is rsync'd to the remote server when using knife-solo. Could also submit patch to knife-solo to fix this, but this is simplest for now.
There a couple approaches: