Am I a terrible person?

My husband and I make very little. He brings home like $250 a week and I am a substitute teacher, so I make $100 a day on the days that I work, which is usually 2 or 3 days. We have $1500 in checking and $1000 in savings. We’re expecting our baby in April. A crib has been given to us and we will definitely get what we need between two baby showers. However, of course I’m already thinking about saving money for emergencies and basic necessities.

Anyway, we had a guest over last week who my husband took off of work to pick up at the airport, we used our gas money to drive him around every day, and paid for his meals. Today, I find out that my husband gave our nephew $50 for making good grades. I’m very upset and expressed that to him. In my opinion, we DO NOT have the money to be just giving away. We need to save what we have for our family. I don’t buy anything for myself, go out to eat, etc. I have passed up an $80 3D ultrasound because it’s not a necessary, though it would be really neat to have done. I have bought ONE cloth diaper for our baby, $13, due to being worried about paying bills. I’m just sad thinking about our money being thrown away. Would you be upset? Am I being selfish? What do I do?