As a father of two, I heart this idea. This takes the budgeting headache away from the manager, and is completely fair.
It implies that every developer is responsible for his/her own workstation maintenance, though, and that might be a risk/pain you don't want.