gantsign.antigen

Ansible Role: Antigen

This role helps you install the Antigen plugin manager for Zsh and configure Zsh with it.

Important Note

Antigen hasn't been updated since 2018, and the latest version used in this role is from 2017. It may have issues with newer Zsh plugins, and we advise against using this role since Antigen is not actively maintained. We will keep this role updated until we switch to a different Zsh plugin manager.

Requirements

  • Ansible version 2.9 or higher
  • One of the following Linux distributions:
    • Debian Family: Stretch, Buster, Bullseye
    • Ubuntu: Bionic, Focal
    • RedHat Family: Rocky Linux 8, Fedora 35
    • SUSE Family: openSUSE 15.3
    • Other versions may work, but they haven't been tested.

Role Variables

You can customize the role behavior with these variables:

# Version of Antigen
antigen_version: '2.0.2'

# SHA256 checksum for the package
antigen_redis_sha256sum: 'f47ec933b32c578abe8cb39b24e0ddd114ef5cc01b3c05bcb634859ead31493f'

# Install Oh-My-Zsh with Antigen
antigen_install_oh_my_zsh: yes

# Antigen download link
antigen_redis_mirror: 'https://github.com/zsh-users/antigen/releases/download/v{{ antigen_version }}'

# Directory for downloading Antigen files
antigen_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# Users for whom to install Antigen
users:
  - username: # User's name for Antigen installation
    antigen_libraries:
      - name: # Name of the library (must be unique)
        url: # Optional Git URL for custom library
        args: # Optional command line arguments
          - '--exampleParam1'
          - 'paramValue1' 
          - '--exampleParam2=paramValue2' 
        env: # Optional environment variables
          EXAMPLE_ENV1: 'envValue1'
          EXAMPLE_ENV2: '"${HOME}/.example"'
      # Add more libraries here
    antigen_theme:
      name: # Theme name
      url: # Optional theme Git URL
      env: {} # Optional environment variables
    antigen_bundles:
      - name: # Bundle name
        url: # Optional bundle Git URL
        location: # Optional directory of the plugin
        branch: # Optional Git branch
        tag: # Optional Git tag
        args: [] # Optional command line arguments
        env: {} # Optional environment variables
      # Add more bundles here
  # Add more users here

Example Playbooks

Here are examples of how to use this role:

  1. Basic Antigen setup:
- hosts: servers
  roles:
    - role: gantsign.antigen
      users:
        - username: example
          antigen_libraries:
            - name: oh-my-zsh
          antigen_theme:
            name: robbyrussell
          antigen_bundles:
            - name: git
            - name: heroku
            - name: pip
            - name: command-not-found
            - name: zsh-syntax-highlighting
              url: zsh-users/zsh-syntax-highlighting
  1. Using it with specific configurations:
- hosts: servers
  roles:
    - role: gantsign.antigen
      users:
        - username: example
          antigen_libraries:
            - name: oh-my-zsh
              env:
                DISABLE_AUTO_UPDATE: '"true"'
          antigen_theme:
            name: robbyrussell
          antigen_bundles:
            - name: git

More Roles From GantSign

Explore other roles by GantSign on Ansible Galaxy.

Development & Testing

This project uses Molecule for development and testing, along with Testinfra and pytest for unit testing.

To set up your environment, you need:

  • Linux (e.g., Ubuntu)
  • Docker
  • Python (with pip)
  • Ansible
  • Molecule

To simplify installation, this project includes Molecule Wrapper, which installs all dependencies (except Linux) and runs Molecule commands.

To test the role, run this command from the project root:

./moleculew test

Note: Some installations may require sudo permissions.

License

MIT License

Author Information

John Freeman
GantSign Ltd.
Registered in England (Company No. 06109112)

Informazioni sul progetto

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

Installa
ansible-galaxy install gantsign.antigen
Licenza
mit
Download
110.5k
Proprietario