spacemacs/layers/+tools/ansible
Eivind Fonn 08561d8631 core: implement :depends for package declarations
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)

This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.

This commit also fixes:

- configuration-layer/describe-package now shows which post-init and pre-init
  functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
  configuration-layer/discover-layers. Previously, this led to all layers being
  recreated after e.g. `SPC h SPC`, without any of the dotfile information.
  Since this information is now necessary for
  configuration-layer/describe-package, it’s important that we don’t clear the
  indexed layers when invoking this function.
2017-06-22 11:53:05 +02:00
..
img Replace +config-files category by +tools category 2016-06-09 23:56:09 -04:00
config.el Fix ansible layer typos 2017-04-19 22:49:37 -04:00
funcs.el ansible: remove temporary fix 2017-04-19 14:02:49 -04:00
layers.el Bump year in copyright headers 2017-01-05 23:08:17 -05:00
packages.el core: implement :depends for package declarations 2017-06-22 11:53:05 +02:00
README.org update docs to the new toc-org format 2017-05-22 18:35:37 +03:00

Ansible layer

/TakeV/spacemacs/media/commit/d89f2dcf822cbaa7d0e06c0d1688f005b3588a6b/layers/+tools/ansible/img/ansible.png

Description

This layer adds support for Ansible-flavored YAML buffers and Jinja2 templates.

Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add ansible to the existing dotspacemacs-configuration-layers list in this file.

Configuration

ansible-vault

Password

To use ansible-vault you have to provide the path to a file containing the password to use somewhere in your dotspacemacs/user-config function. For instance:

(setq ansible::vault-password-file "path/to/pwd/file")

The default value is the ansible-vault default value: ~/.vault_pass.txt.

For now Ansible does not handle multiple passwords in the vault file (see https://github.com/ansible/ansible/issues/13243). To work around this limitation directory local variables can be used to define a different password file for a given environment. Example:

;;; Directory Local Variables
;;; For more information see (info "(emacs) Directory Variables")

((yaml-mode . ((ansible::vault-password-file . "path/to/vault_file"))))

Automatic encryption and decryption

This layer comes preconfigured with automatic encryption/decryption of encrypted files using ansible-vault so it is possible to edit seamlessly any encrypted files.

If you want to disable this feature then set the layer variable ansible-auto-encrypt-decrypt to nil.

(ansible :variables ansible-auto-encrypt-decrypt t)

Key bindings

Key Binding Description
SPC m b d encrypt the buffer using ansible-vault
SPC m b e decrypt the buffer using ansible-vault
SPC m h a looks up documentation using ansible-doc