debops.yadm default variables¶
Sections
General configuration¶
-
yadm__enabled
¶
Enable or disable support for Yet Another Dotfiles Manager.
yadm__enabled: True
-
yadm__dotfiles_enabled
¶
Enable or disable download of the custom dotfiles to a local centralized
directory. The dotfiles will be cloned using the root
account, but no
code will be executed at this point. See below for the configuration of the
custom dotfile lists.
yadm__dotfiles_enabled: False
-
yadm__dotfiles_root
¶
Absolute path to the directory where the role will clone dotfile repositories. The repositories will be cloned in subdirectories based on the URL path. Users can then install the dotfiles from a local mirror of the repository instead of directly from the Internet.
yadm__dotfiles_root: '{{ (ansible_local.fhs.src | d("/usr/local/src"))
+ "/yadm" }}'
-
yadm__dotfiles_host
¶
The host of the default dotfiles defined in the Ansible local facts.
yadm__dotfiles_host: 'github.com'
-
yadm__dotfiles_owner
¶
The owner of the default dotfiles defined in the Ansible local facts; usually
a GitHub account which owns a dotfiles
repository.
The current owner is temporary, until DebOps will have its own set of default
dotfiles available.
yadm__dotfiles_owner: 'drybjed'
-
yadm__dotfiles_path
¶
Absolute path of the default dotfiles to use, exposed in Ansible local facts.
If custom dotfiles are not enabled, the fact will be empty.
The role clones the dotfiles as a bare repository with the .git
extension
in the directory name; be sure to include it in the inventory definition.
yadm__dotfiles_path: '{{ (yadm__dotfiles_root + "/" + yadm__dotfiles_host + "/"
+ yadm__dotfiles_owner + "/dotfiles.git")
if yadm__dotfiles_enabled|bool
else "" }}'
APT packages¶
-
yadm__base_packages
¶
List of the default APT packages installed with yadm. Including shells here ensures that users with login shells other than /bin/bash will be able to login to the host regardless of their dotfiles configuration.
yadm__base_packages:
- 'git'
- 'less'
- 'ncurses-term'
- 'tmux'
- '{{ [] if yadm__upstream_enabled|bool else "yadm" }}'
-
yadm__packages
¶
List of additional APT packages to install on all hosts in the Ansible inventory.
yadm__packages: []
-
yadm__group_packages
¶
List of additional APT packages to install on hosts in a specific Ansible inventory group.
yadm__group_packages: []
-
yadm__host_packages
¶
List of additional APT packages to install on specific hosts in the Ansible inventory.
yadm__host_packages: []
Upstream yadm installation¶
-
yadm__upstream_enabled
¶
Enable or disable installation of the yadm script from upstream git repository.
yadm__upstream_enabled: '{{ True
if (ansible_distribution_release in
[ "wheezy", "jessie", "precise", "trusty", "xenial" ])
else False }}'
-
yadm__upstream_gpg_id
¶
The GPG fingerprint of the key used to sign the yadm releases.
yadm__upstream_gpg_id: '31B9 62F7 CC57 473B 0329 CB9A 6CBE 24C2 FD8C F76E'
-
yadm__upstream_repo
¶
The URL of the yadm upstream git repository.
yadm__upstream_repo: 'https://github.com/TheLocehiliosan/yadm'
-
yadm__upstream_dest
¶
Absolute path to the directory where the yadm upstream git repository will be cloned into.
yadm__upstream_dest: '{{ (ansible_local.fhs.src | d("/usr/local/src"))
+ "/yadm/" + yadm__upstream_repo.split("://")[1] }}'
-
yadm__upstream_version
¶
The version of the upstream git repository to check out.
yadm__upstream_version: '1.12.0'
-
yadm__upstream_link
¶
The absolute path of the symlink created to expose the yadm binary
in the $PATH
environment.
yadm__upstream_link: '/usr/local/bin/yadm'
Custom dotfiles¶
These variables define custom dotfile repositories to clone to the host, so that they are available locally to users. See yadm__dotfiles for more details.
-
yadm__default_dotfiles
¶
List of the custom dotfile repositories defined by the role.
yadm__default_dotfiles:
- name: 'drybjed'
gpg: '2706 7A91 D620 EE91 D503 09D9 2DCC F53E 9BC7 4BEC'
git: 'https://github.com/drybjed/dotfiles'
-
yadm__dotfiles
¶
List of the custom dotfile repositories defined on all hosts in the Ansible inventory.
yadm__dotfiles: []
-
yadm__group_dotfiles
¶
List of the custom dotfile repositories defined on hosts in a specific Ansible inventory group.
yadm__group_dotfiles: []
-
yadm__host_dotfiles
¶
List of the custom dotfile repositories defined on specific hosts in the Ansible inventory.
yadm__host_dotfiles: []
-
yadm__combined_dotfiles
¶
Variable which combines custom dotfile lists and is used in the role tasks.
yadm__combined_dotfiles: '{{ yadm__default_dotfiles
+ yadm__dotfiles
+ yadm__group_dotfiles
+ yadm__host_dotfiles }}'
Configuration for other Ansible roles¶
-
yadm__apt_preferences__dependent_list
¶
Configuration for the debops.apt_preferences Ansible role.
yadm__apt_preferences__dependent_list:
- package: 'yadm'
backports: [ 'stretch' ]
reason: 'Version parity with Debian Buster'
by_role: 'debops.yadm'
-
yadm__keyring__dependent_gpg_keys
¶
Configuration for the debops.keyring Ansible role.
yadm__keyring__dependent_gpg_keys:
- id: '{{ yadm__upstream_gpg_id }}'
state: '{{ "present" if yadm__upstream_enabled|bool else "absent" }}'
# Extract a list of GPG keys from the dotfile configuration; they will be
# added to the 'root' GPG keyring.
- '{{ (yadm__combined_dotfiles | debops.debops.parse_kv_items
| selectattr("gpg", "defined") | selectattr("state", "equalto", "present")
| map(attribute="gpg") | list)
if yadm__dotfiles_enabled|bool else [] }}'