I do freelance development exclusively from home as my sole source of income. (I won't call it "full-time" because I can't remember the last time I worked a 40-hour week.) I find that all I need is a laptop and a little bit of self-discipline to get me started. Once I've got my head in the code, I just roll with it for hours, but, if I get into something else first (like, say, StackOverflow...), it's very hard to get on-task. If you have family, then you also need their understanding to not distract you, of course.
Most of the rest of the suggestions so far have been superfluous, at least for me. I work just as well laying in bed with my laptop as I do sitting at my desk beside my gaming rig. (I generally don't program on my gaming rig, but that's just an OS issue - it's Windows and I write code on *nix. I do use it to test websites when I'm doing that sort of work, though.)