<human>: Give me the gist of the text in a nutshell

I am 33, my SO is 31, we've been together 3 years and living together for 2 years. 
We are on an extremely tight budget because although I do have a good job that pays decently, I am also trying to finish up my college degree and so most of my extra money after bills goes straight to tuition. My SO does freelance work that is sporadic and doesn't pay as well. We live paycheck to paycheck right now, but it's usually not a big deal since we're both working towards a better future. 
Two weeks ago SO got a job that he needed a new piece of equipment for, he didn't have enough money to pay for it so he asked me to buy it for him for his Christmas present. It cost $120, which is a huge amount of money to us but I was able to get it for him because I'd been setting money aside all year to buy Christmas presents. 
So then Christmas eve I was wrapping presents for my family and he told me that his feelings were hurt that I hadn't gotten him a gift to open on Christmas.  It basically ruined my Christmas, I felt terrible and guilty, the last thing I wanted to do was make him sad but the equipment I bought him was really expensive and I had so many other gifts to buy. 
After he told me he was hurt I just apologized and shut myself in the bathroom for a bit to cry and calm down, but now I am starting to feel angry at him for saying that to me.  I'm not sure if I'm just overreacting now or if I should talk to him about it again, or if he's right and I should have bought him another gift to open on Christmas.
<bot>: We are broke. I bought SO expensive Xmas gift two weeks ago that he needed, now he is upset that I didn't buy him something else to open on Xmas day.