Another vote for the crib!
We always put ds to bed in his mini-crib (which was in our room (yay for 500sq ft!)), and if he ended up in our bed at some point during the night, fine. But he knew from the beginning that the crib was where he slept. At some point we side-car attached the crib to our bed (take off one long side, attach firmly to big bed/mattress via rope or board under mattresses to eliminate gaps, fill any gaps that do occur) and ds continued to sleep in his crib, but it was easier for bfing. We moved him to his own room at 8 or 9 months when room-sharing was more disruptive than helpful for all of us.
The benefit of side-carring the crib was that we didn't have to also have a bassinet/Moses basket, and a co-sleeper, and then eventually a crib, and then a normal bed.
Oh, we got our mini-crib at babies r us for around $100, and it's super sturdy and well made, also easy enough to assemble. I only ever had white linens for the crib so that they could be bleached, and would be gender neutral for use with subsequent children.