Getting as much of the crap out of the developers way is the way to go. Anything that makes me think of anything other than the task in hand is a waste of my clock cycles.
Unfortunately, what this actually is will differ from person to person. Some people touch the mouse as little as possible. Other people hate to have to remember keyboard shortcuts. Some people want silence, others like the hum of a working office.
Anything mechanical or repetitive should be automated. Code formatting tools, version control commit-hooks for lint checking, cruise control, etc, etc are good and fairly generally applicable.
Aside from that, give developers the choice to make their own decisions on what works for them. Some decisions have to be made at a department / company level (code style, build system, possibly even IDE, depending on your level of integration), but everything else should be left to the person who has to get that small amount of code into the file.