You are right to be pissed off with your lazy, complacent DH, he was overdue a rant.
However I think you are myopic about your sons. Heartfelt words in a card are nice, but they aren’t as nice as going to the effort of choosing and wrapping a gift, and the bearing the opportunity cost of spending money on you that they could otherwise spend on themselves. Why are you letting them off so easily? You (collectively) have brought up sons in the mirror image of their dad. Complacent about good old mum.
I have adult children, although only one with adult capacity, and in your shoes I wouldn’t adopt your “I’m doing nothing” this Christmas approach, not because it’s unreasonable, but because you risk cutting off your nose to spite your face.
I think a pre-Christmas dinner table rant at the whole family, with special treatment for DH would have been better, concluding with changes you want to see in the future, but I’d try to enjoy Christmas thereafter. Request people chip to help in a none passive aggressive way, but don’t be a ball of wounded resentment at the feast.
We all hate guilt, it sits heavy and is corrosive and your children will soon be of an age when they might decide that Christmas at their boyfriend’s/ girlfriend’s house is more relaxed and fun.
A previous poster had the awful experience of finding that her own son bought a present for his girlfriend’s mum despite never bothering with her. It shows he didn’t bother not because he was incapable, but because he didn’t prioritise her or think about her happiness. When he met someone with a different family culture and he wanted to ingratiate himself, it still didn’t trigger a thought for his own mother.
If we don’t value ourselves, others often follow our lead. Be more real with your children now they are growing up. You will always be their Mum but let them see you as an individual with interests, passions, opinions, standards and personal needs. I think going on strike at Christmas will hurt you more than them. Pitch in together, if they aren’t used to it, you will just have to ask.