#+TITLE: Vagrant layer #+TAGS: layer|tool [[file:img/vagrant.png]] * Table of Contents :TOC_5_gh:noexport: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#layer][Layer]] - [[#vagrant][Vagrant]] - [[#testing][Testing]] - [[#key-bindings][Key bindings]] * Description This layer adds support for working with Vagrant using [[https://github.com/ottbot/vagrant.el][vagrant.el]] and [[https://github.com/dougm/vagrant-tramp][vagrant-tramp]]. ** Features: - Manage boxes (under the ~SPC a V~ prefix) - Remote editing on Vagrant boxes via Tramp * Install ** Layer To use this configuration layer, add it to your =~/.spacemacs=. You will need to add =vagrant= to the existing =dotspacemacs-configuration-layers= list in this file. *Note:* Since vagrant files are written in =ruby= it is recommended to install the =ruby= layer as well. ** Vagrant Follow the [[https://www.vagrantup.com/docs/installation/index.html][Installing Vagrant]] and [[https://www.vagrantup.com/intro/getting-started/index.html][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 [[https://gist.github.com/anonymous/578279337caf180298cd91c61be995bc][Vagrantfile]] in this directory. * Key bindings | Key binding | Description | |-------------+------------------------------------------------------------------------------------------------| | ~SPC a V D~ | destroy a box | | ~SPC a V e~ | edit the =Vagrantfile= | | ~SPC a V H~ | halt (shut down) a box | | ~SPC a V p~ | (re)provision a box that is already up | | ~SPC a V r~ | resume a suspended box (you can also use =SPC V V= for this) | | ~SPC a V R~ | reload a box | | ~SPC a V s~ | view the status of running boxes in the current project | | ~SPC a V S~ | suspend a box | | ~SPC a V t~ | start a =vagrant-tramp-term= session - after start, edit files at =/vagrant:box_name:filename= | | ~SPC a V V~ | bring up a Vagrant box |