Sort of on the same note as providing a good environment... at probably the best company I've worked for, my boss wouldn't blink if I came to him with a request. Be it a software package, new machine, more hours/machines on EC2.
He realized that compared to what he was paying me to work, these were small costs to make sure I could work effectively and to help build the company. Consequently, I had enough respect not to abuse the privilege.
I'm always shocked when I talk to friends at other companies who bitch about working with shitty machines or generally not having the right tools. Generally my rule of thumb would be 10% of salary for upgrades/tools/software. Think about it: for a salary of $50k, what's adding another $5k/year to significantly improve an employee's productiveness?
Also important is to let them make the decision, not just arbitrary upgrades.