Breaking Up

Warning: LONG

We've been together five years and have a one year old. I do the majority of the housework, I get up at night with our son and wake up with him at 5am. I quit my job to stay home with him. It's a long story, but the gist is that my boyfriend doesn't help around the house aside from occasionally making dinner but even that has to be prompted. Never laundry or house cleaning. For instance, I don't think he has ever cleaned the bathroom, even once. In the winter he does snow removal so if it doesn't snow he's home. He sleeps in until I wake him up but when I do wake him up he acts grumpy and irritated. Keep in mind that I've been up since 5am and haven't gotten to sleep through the night since our son was born. We fight a lot, usually about the fact that he doesn't do much but also because when I try to talk to him calmly it escalates quickly. He has a lot of issues such as he doesn't share how he feels, he is sarcastic and rude when upset, reacts with anger when he feels vulnerable. He had a rough childhood but refuses to get help. I hate that my son is growing up around this fighting. I'm terrified of being a single mom and of having to find a new job and I think that's why we haven't already broken up. I care a lot about him, but I don't know if I'm in love anymore. I'm disappointed that he never took it upon himself to propose, he never does anything nice for me or takes me out, holidays go by without so much as a card. Those things may seem petty but it would be nice to feel special. I see people around me who have these amazing spouses who help out and make gestures and I get so jealous. I just don't know what to do anymore. He's irresponsible, spends money frivolously, rarely showers and brushes his teeth. It's like he never grew up. I don't want my son to be like him in that way and I don't want my son to treat women the way he treats me.

What would you do?