antigen
Ansible Роль: Antigen
Роль для установки менеджера плагинов Antigen для Zsh и его настройки.
Эта роль имеет вспомогательную роль, которая позволяет условно устанавливать определенные пакеты Antigen. Подробности о ней можно найти в gantsign.antigen_bundles.
:thumbsdown: Уведомление об устаревании :thumbsdown:
Последний релиз Antigen был v2.2.3 4 января 2018 года. Эта роль фактически использует v2.0.2 (22 апреля 2017 года) из-за проблем с более поздними версиями и некоторыми плагинами Oh My Zsh. Поскольку Antigen, похоже, больше не поддерживается, мы не рекомендуем использовать эту роль. Эта роль будет поддерживаться до тех пор, пока GantSign не перейдет на другой менеджер плагинов для Zsh.
Требования
Ansible >= 2.9
Линейка Linux
Семейство Debian
Debian
- Stretch (9)
- Buster (10)
- Bullseye (11)
Ubuntu
- Bionic (18.04)
- Focal (20.04)
Семейство RedHat
Rocky Linux
- 8
Fedora
- 35
Семейство SUSE
openSUSE
- 15.3
Примечание: другие версии, вероятно, будут работать, но не были протестированы.
Переменные роли
Следующие переменные изменят поведение этой роли:
# Номер версии Antigen
antigen_version: '2.0.2'
# SHA256 сумма для переиздаваемого пакета
antigen_redis_sha256sum: 'f47ec933b32c578abe8cb39b24e0ddd114ef5cc01b3c05bcb634859ead31493f'
# Должен ли Oh-My-Zsh быть установлен вместе с Antigen (не вызывает `antigen use`)
antigen_install_oh_my_zsh: yes
# Место зеркала для загрузки Antigen
antigen_redis_mirror: 'https://github.com/zsh-users/antigen/releases/download/v{{ antigen_version }}'
# Директория для хранения файлов, загруженных для установки Antigen на удаленной машине
antigen_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"
# Antigen устанавливается для каждого пользователя, поэтому необходимо указать пользователей, для которых его нужно установить
users:
- username: # Имя пользователя, для которого устанавливается Antigen
antigen_libraries:
- name: # Название библиотеки (например, oh-my-zsh или prezto) должно быть уникальным
url: # Необязательно. Если вы используете пользовательскую библиотеку, необходимо указать Git URL
args: # Необязательно. Аргументы командной строки для передачи Antigen
- '--exampleParam1'
- 'paramValue1' # пример с значением, переданным отдельным аргументом
- '--exampleParam2=paramValue2' # пример со значением, переданным в одном аргументе
env: # Необязательно. Переменные окружения для установки
EXAMPLE_ENV1: 'envValue1'
EXAMPLE_ENV2: '"${HOME}/.example"' # одинарные кавычки для YAML, двойные кавычки для оболочки
# дополнительные библиотеки здесь
antigen_theme:
name: # Имя библиотеки (например, одна из тем, которые идут с Oh-My-Zsh)
url: # Необязательно. Если тема не идет с Oh-My-Zsh, необходимо указать Git URL
env: {} # Необязательно. Переменные окружения для установки
antigen_bundles:
- name: # Имя пакета Antigen (например, один из плагинов, которые идут с Oh-My-Zsh)
url: # Необязательно. Если это не один из плагинов Oh-My-Zsh, необходимо указать URL (используйте короткий вид owner/repo для GitHub)
location: # Необязательно. Директория в репозитории, содержащая плагин
branch: # Необязательно. Git ветка для проверки.
tag: # Необязательно. Git тег для проверки (предпочтительнее ветки)
args: [] # Необязательно. Аргументы командной строки для передачи Antigen
env: {} # Необязательно. Переменные окружения для установки
# дополнительные пакеты здесь
# дополнительные пользователи здесь
Примеры плейбуков
Следующее делает то же самое, что и пример в Antigen README.mkd.
- hosts: servers
roles:
- role: gantsign.antigen
users:
- username: example
antigen_libraries:
- name: oh-my-zsh
antigen_theme:
name: robbyrussell
antigen_bundles:
# Пакеты из стандартного репозитория (oh-my-zsh от robbyrussell).
- name: git
- name: heroku
- name: pip
- name: lein
- name: command-not-found
# Пакет для синтаксического выделения.
- name: zsh-syntax-highlighting # `name` требуется (любое допустимое имя файла, если оно уникально для пакетов)
url: zsh-users/zsh-syntax-highlighting
Следующее делает то же самое, что и пример в роли gantsign.oh-my-zsh
README.md.
- hosts: servers
roles:
- role: gantsign.antigen
users:
- username: example
antigen_libraries:
- name: oh-my-zsh
env:
DISABLE_AUTO_UPDATE: '"true"' # Необязательно (это было зафиксировано в .zshrc роли `gantsign.oh-my-zsh`)
antigen_theme:
name: robbyrussell # Эта роль не имеет темы по умолчанию (в отличие от роли `gantsign.oh-my-zsh`)
antigen_bundles:
- name: git # Эта роль не имеет пакетов/плагинов по умолчанию (в отличие от роли `gantsign.oh-my-zsh`)
Другие роли от GantSign
Вы можете найти больше ролей от GantSign на Ansible Galaxy.
Разработка и тестирование
Этот проект использует Molecule для содействия в разработке и тестировании; роль проходит модульное тестирование с помощью Testinfra и pytest.
Чтобы разрабатывать или тестировать, вам потребуется установить следующее:
Поскольку установку всего вышеперечисленного может быть сложно выполнить, этот проект включает Molecule Wrapper. Molecule Wrapper — это скрипт, который устанавливает Molecule и его зависимости (кроме Linux), а затем выполняет Molecule с командой, которую вы передаете.
Чтобы протестировать эту роль с помощью Molecule Wrapper, выполните следующую команду из корневого каталога проекта:
./moleculew test
Примечание: для установки некоторых зависимостей нужны права sudo
.
Лицензия
MIT
Информация об авторе
Джон Фриман
GantSign Ltd. Регистрационный номер компании 06109112 (зарегистрирована в Англии)
Role for installing the Antigen plugin manger for Zsh and using it to configure Zsh.
ansible-galaxy install gantsign/ansible-role-antigen