Or basically, just budget for everything, including vanity stuff?
I.e. every month you drip a small amount of money into different piles for the most innucuous of things. I have a pile for new gym clothes, a pile for new headphones I'll probably need in 2 years, another pile for a new phone I'll need in 3 years, a pile for gifts, etc.
Each of these piled gets topped up by a small amount each month (in some cases, just $10), so when I want to buy something in that category I've got a little fund to draw from.
I've started doing this and it's been really helpful (mostly because my banking app let's me). Means that ad hoc purchases never really feel ad hoc.
CE's Resident Scotsman.
http://i.imgur.com/ILz2ZbV.jpg