Hi there and welcome
What your baby is doing is quiet normal... at that age, my LO would fall asleep on the boob all the time! I agree with pp and try tickling toes, taking clothes off and I used to shake the boob all the time to remind her it was eat time. Honestly though, as he gets older and is able to stay up a little more, he will be less sleepy by the breast. With regards to napping, at that age, I used to carry mine around in the sling/baby carrier a lot and held mine to sleep or let her have a nap after a feed. Sometime around 8 weeks, I started shh/pat in the cot for 1-2 naps and slowly over time, she learned how to self soothe and most of the naps were in the cot. He's still very little though so if he's not responding to shh/pat, it is ok to give it a break and try again later.
Formula may be causing him some pain but all my girls went through a fussy period around this age (6-8 weeks) and what you try doing is massaging his tummy, cycling his legs or holding him face down position (across your hand) to help relieve some of those nasty gasses.
Big (((hugs))) to you... take care of yourself and post back with any more questions