antigen

Ansible Роль: Antigen

Тесты Ansible Galaxy Лицензия

Роль для установки менеджера плагинов 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
Лицензия
mit
Загрузки
101215
Владелец