Money has been proven not to be a strong motivator, though too little money is a strong demotivator. Pay enough to take money off the table as an issue. Any more won't help, in fact it may hurt.
This video suggests that the most powerful motivator is autonomy and I have found that to be true. However, you can go too far. Developers like their code to be perfect and if you give them room to make it such, there will be a cost in terms of getting stuff done.
Peopleware is about one-third dedicated to the environment that "thought-workers" spend their day in, for good reason. Lots of natural light, lots of space, lots of freedom to arrange things the way they want. However, it does focus very strongly on silence and I think you can go too far with that too. As Uncle Bob says in Agile Software Development, Principles, Patterns, and Practices, an Agile team is vibrant and communicative. My theory is that, within sensible limits, a constant noise is fine; it's sudden noises that drag people out of the zone.
Two things that I've found to be very powerful motivators in my own experience are good tools and good teammates.
Anything which slows people down is a demotivator. Roy Osherove of 5whys talks a lot about this and suggests that every team leader should see their only role as "Bottleneck Ninja".
And developers love to learn, preferably from each other, preferably all day long. If you can get a team of good solid developers and put them in a room together, they'll do a lot of the motivating themselves.
Finally, respect. There is little more important to geeks. Understand that you are dealing with intelligent people and act accordingly. Don't force them into asinine team-building sessions and company picnics. Just treat them with respect, put the job in front of them and (as much as possible) let them go at it. Ask for visibility, by all means, but do not micromanage.