vagrant: add layer
This commit is contained in:
parent
89c0ac82ab
commit
36e21d9961
64
contrib/vagrant/README.md
Normal file
64
contrib/vagrant/README.md
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc/generate-toc again -->
|
||||||
|
**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)
|
||||||
|
|
||||||
|
<!-- markdown-toc end -->
|
||||||
|
# Vagrant contribution layer for Spacemacs
|
||||||
|
|
||||||
|
![vagrant](img/vagrant.png)
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
This layers adds support for working with Vagrant using
|
||||||
|
[vagrant.el](https://github.com/ottbot/vagrant.el) and
|
||||||
|
[vagrant-tramp](https://github.com/dougm/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 '(vagrant))
|
||||||
|
```
|
||||||
|
|
||||||
|
### Vagrant
|
||||||
|
|
||||||
|
Follow the
|
||||||
|
[Installing Vagrant](http://docs.vagrantup.com/v2/installation/index.html)
|
||||||
|
and
|
||||||
|
[Getting Started](http://docs.vagrantup.com/v2/getting-started/index.html)
|
||||||
|
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](Vagrantfile) in this directory.
|
||||||
|
|
||||||
|
## Keybindings
|
||||||
|
|
||||||
|
Key Binding | Description
|
||||||
|
------------|-----------------------------------------------------------------------------------------------
|
||||||
|
`SPC V V` | bring up a Vagrant box
|
||||||
|
`SPC V p` | (re)provision a box that is already up
|
||||||
|
`SPC V D` | destroy a box
|
||||||
|
`SPC V s` | view the status of running boxes in the current project
|
||||||
|
`SPC V S` | suspend a box
|
||||||
|
`SPC V r` | resume a suspended box (you can also use `SPC V V` for this)
|
||||||
|
`SPC V H` | halt (shut down) a box
|
||||||
|
`SPC V e` | edit the `Vagrantfile`
|
||||||
|
`SPC V t` | start a `vagrant-tramp-term` session - after start, edit files at `/vagrant:box_name:filename`
|
14
contrib/vagrant/Vagrantfile
vendored
Normal file
14
contrib/vagrant/Vagrantfile
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# -*- mode: ruby -*-
|
||||||
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
|
# This file is provided for testing this layer - it doesn't really do
|
||||||
|
# very much!
|
||||||
|
|
||||||
|
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
||||||
|
VAGRANTFILE_API_VERSION = "2"
|
||||||
|
|
||||||
|
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||||
|
config.vm.box = "ubuntu/trusty64"
|
||||||
|
|
||||||
|
config.vm.provision :shell, inline: "echo provisioned"
|
||||||
|
end
|
BIN
contrib/vagrant/img/vagrant.png
Normal file
BIN
contrib/vagrant/img/vagrant.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
36
contrib/vagrant/packages.el
Normal file
36
contrib/vagrant/packages.el
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
;;; packages.el --- Vagrant Layer extensions File for Spacemacs
|
||||||
|
;;
|
||||||
|
;; Copyright (c) 2012-2014 Sylvain Benner
|
||||||
|
;; Copyright (c) 2015 Brian Hicks & Contributors
|
||||||
|
;;
|
||||||
|
;; Author: Brian Hicks <brian@brianthicks.com>
|
||||||
|
;; URL: https://github.com/syl20bnr/spacemacs
|
||||||
|
;;
|
||||||
|
;; This file is not part of GNU Emacs.
|
||||||
|
;;
|
||||||
|
;;; License: GPLv3
|
||||||
|
(defvar vagrant-packages '(vagrant
|
||||||
|
vagrant-tramp))
|
||||||
|
|
||||||
|
(defun vagrant/init-vagrant ()
|
||||||
|
(use-package vagrant
|
||||||
|
:defer t
|
||||||
|
:init (progn
|
||||||
|
(spacemacs/declare-prefix "V" "vagrant")
|
||||||
|
(evil-leader/set-key
|
||||||
|
"VV" 'vagrant-up
|
||||||
|
"Vp" 'vagrant-provision
|
||||||
|
"VD" 'vagrant-destroy
|
||||||
|
"Vs" 'vagrant-status
|
||||||
|
"VS" 'vagrant-suspend
|
||||||
|
"Vr" 'vagrant-resume
|
||||||
|
"VH" 'vagrant-halt
|
||||||
|
"Ve" 'vagrant-edit))))
|
||||||
|
|
||||||
|
(defun vagrant/init-vagrant-tramp ()
|
||||||
|
(use-package vagrant-tramp
|
||||||
|
:defer t
|
||||||
|
:init (progn
|
||||||
|
(vagrant-tramp-enable)
|
||||||
|
(evil-leader/set-key
|
||||||
|
"Vt" 'vagrant-tramp-term))))
|
Loading…
Reference in a new issue