gantsign.antigen

Rol de Ansible: Antigen

Pruebas Ansible Galaxy Licencia

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)

Acerca del proyecto

Role for installing the Antigen plugin manger for Zsh and using it to configure Zsh.

Instalar
ansible-galaxy install gantsign.antigen
Licencia
mit
Descargas
110.5k
Propietario