A few years ago, my sister suggested that instead of gift buying for everybody we do a Secret Santa exchange. We draw names and only select something for the person whose name we drew. There is a $50 cap on what we can spend. We each get one thing.
This has greatly reduced the stress around holiday shopping. To further reduce the pressure to find the "perfect gift" we encourage each other to mine our online wish lists. The longer the list, the greater possibility of surprise.
Having the expectation of receiving only one gift eliminates the greed problem.
The fun is in solving the mystery of who your Santa is.
My sister made the holidays fun again.
Better than struggling with what to buy and duplicating gifts.
We do that at work every year and I never participate. The gift limit is $15.
The rule in my and extended families is we ask when we need and we buy instantly or we buy ourselves when we feel like it. I don't remember saying no ever. Our loved ones know what our capacity is. We never buy around holidays. Prices are always high around these gift occasions even with 70% to 80% fake discounts.
As a freethinker, I left religion and everything wrapped around it.