I work at the command line every day. I develop in Linux, but have a Mac laptop. I use Vagrant to do all of my development.
How does that work out? On the whole pretty great. Here's what I like:
* Spinning up my development box is as simple as "vagrant up", getting in there is as simple as "vagrant ssh"
* Vagrant boxes are specified in Vagrantfiles, where you describe what steps to do when you make a new one. At this point I have codified most of what I need to spin up a new vagrant box in my Vagrant file. New computer? I'm up and running in a few minutes.
* Vagrant allows us to test out all our builds in a fully virtualized environment on developer laptops. It's actually kinda beautiful. Review collected by and hosted on G2.com.