gantsign.antigen
Rol de Ansible: Antigen
Rol para instalar el gestor de plugins Antigen para Zsh y usarlo para configurar Zsh.
Este rol tiene un rol complementario que te permite instalar condicionalmente ciertos paquetes de Antigen. Puedes encontrar detalles de ese rol en gantsign.antigen_bundles.
:thumbsdown: Aviso de desuso :thumbsdown:
La última versión de Antigen fue v2.2.3 el 4 de enero de 2018. Este rol en realidad usa v2.0.2 (22 de abril de 2017) debido a problemas con versiones posteriores y algunos plugins de Oh My Zsh. Dado que Antigen parece ya no estar mantenido, recomendamos no usar este rol. Este rol seguirá siendo mantenido hasta que GantSign migre a un gestor de plugins Zsh diferente.
Requisitos
Ansible >= 2.9
Distribución de Linux
Familia Debian
Debian
- Stretch (9)
- Buster (10)
- Bullseye (11)
Ubuntu
- Bionic (18.04)
- Focal (20.04)
Familia RedHat
Rocky Linux
- 8
Fedora
- 35
Familia SUSE
openSUSE
- 15.3
Nota: otras versiones probablemente funcionen, pero no se han probado.
Variables del Rol
Las siguientes variables cambiarán el comportamiento de este rol:
# Número de versión de Antigen
antigen_version: '2.0.2'
# Suma SHA256 para el paquete redistribuible
antigen_redis_sha256sum: 'f47ec933b32c578abe8cb39b24e0ddd114ef5cc01b3c05bcb634859ead31493f'
# ¿Debería instalarse Oh-My-Zsh junto con Antigen? (no llama a `antigen use`)
antigen_install_oh_my_zsh: yes
# Ubicación del espejo para la descarga de Antigen
antigen_redis_mirror: 'https://github.com/zsh-users/antigen/releases/download/v{{ antigen_version }}'
# Directorio para almacenar los archivos descargados para la instalación de Antigen en la máquina remota
antigen_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"
# Antigen se instala por usuario, así que necesitas especificar los usuarios para los que lo instalarás
users:
- username: # El nombre de usuario para el que se instalará Antigen
antigen_libraries:
- name: # El nombre de la biblioteca (por ejemplo, oh-my-zsh o prezto) debe ser único
url: # Opcional. Si usas una biblioteca personalizada, debes especificar la URL de Git
args: # Opcional. Argumentos de línea de comandos para pasar a Antigen
- '--exampleParam1'
- 'paramValue1' # ejemplo con el valor pasado como un argumento separado
- '--exampleParam2=paramValue2' # ejemplo con el valor pasado en el mismo argumento
env: # Opcional. Variables de entorno a establecer
EXAMPLE_ENV1: 'envValue1'
EXAMPLE_ENV2: '"${HOME}/.example"' # las comillas simples son para YAML y las dobles son para la shell
# más bibliotecas aquí
antigen_theme:
name: # El nombre de la biblioteca (por ejemplo, uno de los temas que vienen con Oh-My-Zsh)
url: # Opcional. Si el tema no viene con Oh-My-Zsh, debes especificar la URL de Git
env: {} # Opcional. Variables de entorno a establecer
antigen_bundles:
- name: # El nombre del paquete de Antigen (por ejemplo, uno de los plugins que vienen con Oh-My-Zsh)
url: # Opcional. Si no es uno de los plugins de Oh-My-Zsh, debes especificar la URL (usa la notación owner/repo para GitHub)
location: # Opcional. El directorio en el repositorio que contiene el plugin
branch: # Opcional. Rama de git para hacer checkout.
tag: # Opcional. Etiqueta de git para hacer checkout (tiene preferencia sobre la rama)
args: [] # Opcional. Argumentos de línea de comandos para pasar a Antigen
env: {} # Opcional. Variables de entorno a establecer
# más paquetes aquí
# más usuarios aquí
Ejemplos de Playbooks
Lo siguiente logra lo mismo que el ejemplo en el Antigen README.mkd.
- hosts: servers
roles:
- role: gantsign.antigen
users:
- username: example
antigen_libraries:
- name: oh-my-zsh
antigen_theme:
name: robbyrussell
antigen_bundles:
# Paquetes del repositorio predeterminado (oh-my-zsh de robbyrussell).
- name: git
- name: heroku
- name: pip
- name: lein
- name: command-not-found
# Paquete de resaltado de sintaxis.
- name: zsh-syntax-highlighting # `name` es necesario (cualquier nombre de archivo válido funcionará mientras sea único para los paquetes)
Lo siguiente logra lo mismo que el ejemplo en el rol 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"' # Opcional (esto estaba hardcoded en el .zshrc del rol `gantsign.oh-my-zsh`)
antigen_theme:
name: robbyrussell # Este rol no tiene tema predeterminado (a diferencia del rol `gantsign.oh-my-zsh`)
antigen_bundles:
- name: git # Este rol no tiene paquetes/plugins predeterminados (a diferencia del rol `gantsign.oh-my-zsh`)
Más Roles de GantSign
Puedes encontrar más roles de GantSign en Ansible Galaxy.
Desarrollo y Pruebas
Este proyecto utiliza Molecule para ayudar en el desarrollo y las pruebas; el rol se prueba unitariamente usando Testinfra y pytest.
Para desarrollar o probar necesitarás tener instalado lo siguiente:
Debido a que la instalación de lo anterior puede ser complicada, este proyecto incluye Molecule Wrapper. Molecule Wrapper es un script de shell que instala Molecule y sus dependencias (aparte de Linux) y luego ejecuta Molecule con el comando que le pases.
Para probar este rol usando Molecule Wrapper, ejecuta el siguiente comando desde la raíz del proyecto:
./moleculew test
Nota: algunas de las dependencias necesitan permisos sudo
para instalarse.
Licencia
MIT
Información del Autor
John Freeman
GantSign Ltd. Número de empresa 06109112 (registrada en Inglaterra)
Role for installing the Antigen plugin manger for Zsh and using it to configure Zsh.
ansible-galaxy install gantsign.antigen