Seems very strange to me that he wouldn’t ever initiate sex, kisses, do nice things for you to make you feel good, tell you that you look good, or smell nice, etc.
You’ve dated for four years, maybe he has taken you for granted?
I haven’t dated anyone as long as 4 years, but I always have a drive for sex, and the drive to want to do nice things, take my lady out to dinner, ask her how her day has been and so on.
Like @stump suggested, stop initiating things for him, and see what happens, and also as @Cruiser said, imagine being married to someone like that… people tend to not change much, hopefully you figure out what’s going on.
My brother dated someone from high school for 4 years, and was about your age when his girlfriend realized she was being neglected, and taken for granted. She eventually broke up with my brother because of it, and if you asked my brother today, he would feel as though he made a mistake.
Good luck, I hope it works out for you.