That's one comprehensive list of items, thanks for this.
I will take a look at Capistrano, Fabric, Ansible and SaltStack, in addition to the configuration management topic.
I think your advise of copying source packages and dependencies makes total sense, I have seen it happen at other places.
My question remains, how would I automate a developer's environment setup (machine)? Assume I have the OS installed and connected to the internet already. Can I use the tools you referred to for deploying these apps to developers machines? What would you say regarding Python's virtualenvs creation? Can that be incorporated into the configuration management tools?