My baby will only nap if I'm holding her. She's 4 months old, and her daytime sleep is all over the place. Most days I feel like she barely sleeps. She either needs to be held so she'll take a long nap, or I put her in the crib and she wakes up 15 minutes later.
Am I creating a terrible habit by holding her while she sleeps?
Yes and no. Yes, sleeping in your arms is a habit. No, it's not terrible—it's really natural.
Your baby is in a transitional phase: She still seems to need a lot of help from you to regulate herself and fall asleep (and stay asleep), but soon she'll be ready to take that role over herself. It's really common for little babies to wake up after just 15 to 30 minutes of sleep when they're not being held, and, instead, to nap for hours on you or while in motion. Usually it's because they come into a light sleep and rustle slightly—if they're snuggled with you or moving, they go back into a deep sleep. If they're in a flat, still crib, they pop awake.
My advice is to practice once a day putting your baby down awake (truly awake, not super drowsy) for a nap. The first nap of the day is usually the most successful. Let her be and give her space if she's whining or moving around in the crib. If you need to go in, try not to pick her up, but pat her or replace her pacifier and leave again.
You may have to do that over and over, but even if it works one time, it's helping to establish a pattern that will grow. If you do this once a day, let her nap wherever you/she wish for the rest of the day knowing you've got a little practice in.