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