I'm sorry dude. That all just sucks.
If I can offer a path of thought, it sounds a bit like you're punishing yourself for being happy. It sounds like you have sort of a duality... You remember Christmas being a happy time with a lot of togetherness and love. And you also remember that it is the time when you heard this devastating news.
You might sit and try to sort that out... Both of those things in your brain at the same time are certain to drive anyone a bit mad.
But you don't have to punish yourself for being happy sometimes. It really sounds like you have a big case of survivor's guilt. There are pathways through that grief that may allow you to be happy and also honor the memory of a dear friend.
There's no "right" answer, just an answer that's right for you. You might consider talking to someone to help you unwind this ball of thoughts. Perhaps on the other side is something you can do every holiday in honor of your friend to help pay him back by paying it forward. While he's not here, maybe you could do something extra to spread Christmas cheer on his behalf. There's a hole in the world where he used to be - you could potentially help fill that.
It won't be easy, but I'd encourage you to walk along the path of those thoughts and see if you can find some peace.
I wish you luck, whatever you decide to do.