"DP was really tired and cranky so went to bed. He asked me not to wake him up.
I went to bed just after 12, was careful to be quiet. I cuddled into him which woke him up and he got angry and called me a dickhead."
You intentionally woke him up...probably because you were annoyed and perhaps angry that this particular year he wasn't up and you were. You were hoping that he'd be up with you.
He was angry, cranky, and tired beforehand...and you thought that cuddling into him (without his consent) was the appropriate thing for you to do in this situation??
You disrespected him intentionally.
He disrespected you out of anger and being disrespected. Maybe he wasn't fully aware of him saying it, and it slipped out..
Even though he probably didn't mean it, he's apologized for your sake.
Why won't you apologize to him?? You were also in the wrong.
You are also in the wrong to discuss these things, be demanding, and in anger call him at work. It could have waited, and you or the both of you weren't in a position to calmly communicate.
It's unacceptable if the both or just one of you regularly are pushing each other's buttons, disrespectful and abusive towards one another. That is something that needs to be worked on, if it can be.
Tbh, if I had been you, I would have went and slept in another room (if possible), if not...there's no way that I would have touched him. Simply turn over and stay on your side of the bed next time.
If you are like this a lot, he needs to leave you... I guarantee that you are a large source of his anger..
If he is like this a lot, you need to leave him.
Combination...you both need to leave.