Brain, Bytes, Back, Buns - The Programmer's Priorities
I'd like to add one more "B" to OP's title: Body.<p>I have found after many years of programming that how I take care of my body <i>before</i> I ever sit down is much more important than the environment I sit down to.  I have sat in over 100 offices of every possible condition (some you wouldn't believe) and have figured out that there's a "time warp" involved here... If I've taken care of myself, then I can function quite well in the worst client dump. If I haven't taken care of myself, then the most expensive of everything won't help much.<p>I have had scoliosis my whole life, so I've had to learn how to take care of myself or I never would have made it this far. Some of the things I always do:<p><pre><code>  - jogging (3-4x per week)
  - body weight exercises (I love Hindu squats and push-ups.)
  - stair climbing
  - proper eating (a whole subject itself)  
  - monthly chiropractic visits
  - getting out of my chair every hour (a must for ANY chair)
</code></pre>
Oddly, I have never really followed most of OP's advice because I never thought it was very important. Most other programmers can't believe me, but here is my typical arrangement:<p><pre><code>  - cheapest chair from yard sale
  - cheapest (disposable) laptop (currently $350 Lenova)
  - one monitor (I can't stand > 1; I lose my focus.)
  - good keyboard & mouse (the only things I don't skimp on)
  - any work surface, as long as it's lower than 29"
  - at least one feline companion
</code></pre>
OP brings up some good points, but the most important thing is to find out what will work for you for years. It's a marathon, not a sprint.