Have you looked into SaltStack at all? The default is to write states in YAML+Jinja but you can change it to use pure python, or a PyObjects renderer that gives it a very pythonic API.
Not necessarily. Bike shedding refers to arguing about trivial issues. Naming can have a huge impact on how something is perceived so I wouldn't call it trivial.
I agree. I don't just use RVM because my OS doesn't have the latest version.. I use RVM because I work on a project that uses jruby, and another that uses 2.1.1, and yet another that uses 2.0.0. Those projects may also require different versions of the same gem. With RVM I can have a .ruby-version and .ruby-gemset file in the projects root and RVM takes care of switching the version and gemset when I move into a projects directory. To quote the article: This seems like a much cleaner way of working!