Something I always wanted to do as a manager was to offer not just great hardware, but essentially an allowance. That is, the developer is expected to buy and maintain their own hardware, but they get a budget. Say, $3000 at signing, $1500 annual refresh, and you have to pay it back if you quit or get fired for cause within the first 12 months. Coder gets to use whatever hardware they please, and keep it. I have predictable support costs, and in the grand scheme of things, it's a pretty cheap perk.
Never could convince my superiors. But maybe when I start my own...