This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+tools/ansible
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
..
img Replace +config-files category by +tools category 2016-06-09 23:56:09 -04:00
config.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
funcs.el ansible: fix error void function ansible:auto-decrypt-encrypt 2018-01-29 13:52:39 -05:00
layers.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
packages.el Revert "Defer packages by default using use-package-always-defer" 2018-03-03 23:40:10 -05:00
README.org Fix doc for spell-checking and ansible layer 2018-02-17 17:30:44 +02:00

Ansible layer

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

Description

This layer adds support for editing Ansible configuration files in Spacemacs.

Features:

  • Syntax highlighting for Ansible-flavored YAML and Jinja2 templates.
  • Auto-completion via company-ansible.
  • Integration of ansible-vault into emacs for automatic encryption/decryption of files.

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