
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.
I have only one complaint about Vagrant, and to be honest this complaint is largely related to my own misuse of the tool:
If you power off your laptop at the wrong time, it is possible for a Vagrant image to become corrupted. I lost two development boxes to this (in both cases it was when I had to hold the power button because Mac OS locked up for unrelated reasons). It sucks, but that said, it also enforces a mode of thinking around ephemeral machines that I find very helpful. Both times I've lost a vagrant dev box, I've spent some time making my Vagrantfile better so getting back to speed is increasingly painless Review collected by and hosted on G2.com.