# Vagrant contribution layer for Spacemacs ![vagrant](img/vagrant.png) **Table of Contents** - [Vagrant contribution layer for Spacemacs](#vagrant-contribution-layer-for-spacemacs) - [Description](#description) - [Install](#install) - [Layer](#layer) - [Vagrant](#vagrant) - [Testing](#testing) - [Keybindings](#keybindings) ## Description This layer adds support for working with Vagrant using [vagrant.el][] and [vagrant-tramp][]. Features: - manage boxes (under the SPC V prefix) - remote editing on Vagrant boxes via Tramp ## Install ### Layer To use this contribution add it to your `~/.spacemacs` ```elisp (setq-default dotspacemacs-configuration-layers '(ruby vagrant)) ``` **Note** Since vagrant files are written in `ruby` it is recommended to install the `ruby` layer as well. ### Vagrant Follow the [Installing Vagrant][] and [Getting Started][] guides in Vagrant's documentation. ### Testing If you'd like to test this layer out in a simple way (for example to make sure you have Vagrant configured correctly) there is a [Vagrantfile][] in this directory. ## Keybindings Key Binding | Description -------------------|----------------------------------------------------------------------------------------------- SPC V D | destroy a box SPC V e | edit the `Vagrantfile` SPC V H | halt (shut down) a box SPC V p | (re)provision a box that is already up SPC V r | resume a suspended box (you can also use `SPC V V` for this) SPC V s | view the status of running boxes in the current project SPC V S | suspend a box SPC V t | start a `vagrant-tramp-term` session - after start, edit files at `/vagrant:box_name:filename` SPC V V | bring up a Vagrant box [vagrant.el]: https://github.com/ottbot/vagrant.el [vagrant-tramp]: https://github.com/dougm/vagrant-tramp [Installing Vagrant]: http://docs.vagrantup.com/v2/installation/index.html [Getting Started]: http://docs.vagrantup.com/v2/getting-started/index.html [Vagrantfile]: Vagrantfile