Vagrant

We're so pretty
Oh so pretty
We're vagrant

The simplest possible example of Vagrant provising a fresh VM, requiring two commands (init, up).

$ vagrant init generic/arch
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'generic/arch' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'generic/arch'
    default: URL: https://vagrantcloud.com/generic/arch
==> default: Adding box 'generic/arch' (v1.9.34) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/generic/boxes/arch/versions
    default: Download redirected to host: [etc]
==> default: Successfully added box 'generic/arch' (v1.9.34) for 'virtualbox'!
==> default: Importing base box 'generic/arch'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'generic/arch' version '1.9.34' is up to date...
==> default: Setting the name of the VM: vagrant_default_1569695493906_36915
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: 
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: 
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...

Then use it via VirtualBox as normal, or cast magic from the host:

$ vagrant ssh
Last login: Sat Aug 22 11:12:00 1485
[vagrant@arch ~]$ echo within guest