Indeed, I have noticed some significant improvements in the config files layout.
All config files have been moved to the config/ directory and the automatic creation of missing config/location files is now handled by the common_startup.sh script. This is great but it is not solving my main concern about creating « unused » config files at startup.
To be more specific, I will give you a short description of our Galaxy instance layout. We are currently sharing the sources of our Galaxy instance because we want to share our Vagrant setup with Galaxy tools developers. However, we actually don’t want to share all our config files but still want to keep them under version control. That’s why we decided to move all our config/location files in a private repository and point to this specific location in our main galaxy.ini config.
In my opinion, if a galaxy.ini file already existing and is pointing to non-default location for some config files ou tool-data path, the Galaxy startup script should not be creating the corresponding default config files to the default location.
My idea was to refactor the common_startup.sh script in order to parse an eventually existing galaxy.ini and then create each default config files to the location pointed by galaxy.ini.
What timing for this email - we have just made significant changes to the default config layout, and this includes no longer copying sample configs to their non-sample locations. The changes are in our default branch right now and will be part of the stable release scheduled for October. Have a look, I'd be interested to hear your feedback since you've already put some thought into this.