584392bd92
There was a edge case with the declaration of the `lsp` layer in `layers.el` files. The `hy` layer depends on the `python` layer which in turn depends on the `lsp` layer if and only if the `python-backend` layer variable is set to `lsp`. When the `hy` layer was declared first then it declares the `python` layer without its layer variables, thus the `lsp` layer was not declared because the `python-backend` variable was not set. The fix is to gather all the layer dependencies and resolve them only after all the used layers have been declared. * new function `configuration-layer/declare-layer-dependencies` * replace all calls to `configuration-layer/declare-layer` by the new function except for distribution layers (we declare layer dependencies right away in distribution layers) |
||
---|---|---|
.. | ||
img | ||
config.el | ||
funcs.el | ||
layers.el | ||
packages.el | ||
README.org |
Ansible layer
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 e |
encrypt the buffer using ansible-vault |
SPC m b d |
decrypt the buffer using ansible-vault |
SPC m h a |
looks up documentation using ansible-doc |