gantsign.antigen

Ansible Rolle: Antigen

Tests Ansible Galaxy Lizenz

Rolle zur Installation des Antigen Plugin-Managers für Zsh und zur Konfiguration von Zsh.

Diese Rolle hat eine begleitende Rolle, die es dir ermöglicht, bestimmte Antigen-Bundles bedingt zu installieren. Details dazu findest du in der Rolle gantsign.antigen_bundles.

:thumbsdown: Hinweis zur Einstellung :thumbsdown:

Die letzte Antigen-Version war v2.2.3 am 4. Januar 2018. Diese Rolle verwendet tatsächlich v2.0.2 (22. April 2017) aufgrund von Problemen mit neueren Versionen und einigen Oh My Zsh-Plugins. Da Antigen offenbar nicht mehr gewartet wird, empfehlen wir, diese Rolle nicht zu verwenden. Diese Rolle wird weiterhin gewartet, bis GantSign auf einen anderen Zsh-Plugin-Manager wechselt.

Anforderungen

  • Ansible >= 2.9

  • Linux-Distribution

    • Debian-Familie

      • Debian

        • Stretch (9)
        • Buster (10)
        • Bullseye (11)
      • Ubuntu

        • Bionic (18.04)
        • Focal (20.04)
    • RedHat-Familie

      • Rocky Linux

        • 8
      • Fedora

        • 35
    • SUSE-Familie

      • openSUSE

        • 15.3
    • Hinweis: Andere Versionen funktionieren wahrscheinlich, wurden aber nicht getestet.

Rollenvariablen

Die folgenden Variablen ändern das Verhalten dieser Rolle:

# Antigen Versionsnummer
antigen_version: '2.0.2'

# SHA256-Checksumme für das redistributierbare Paket
antigen_redis_sha256sum: 'f47ec933b32c578abe8cb39b24e0ddd114ef5cc01b3c05bcb634859ead31493f'

# Soll Oh-My-Zsh mit Antigen installiert werden (ruft nicht `antigen use` auf)
antigen_install_oh_my_zsh: ja

# Spiegel-Standort für den Antigen-Download
antigen_redis_mirror: 'https://github.com/zsh-users/antigen/releases/download/v{{ antigen_version }}'

# Verzeichnis, um Dateien für die Antigen-Installation auf dem Remote-Computer zu speichern
antigen_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# Antigen wird pro Benutzer installiert, daher musst du die Benutzer angeben, für die es installiert wird
users:
  - username: # Der Benutzername des Benutzers, für den Antigen installiert werden soll
    antigen_libraries:
      - name: # Der Name der Bibliothek (z.B. oh-my-zsh oder prezto), muss einzigartig sein
        url: # Optional. Wenn du eine benutzerdefinierte Bibliothek verwendest, musst du die Git-URL angeben
        args: # Optional. Befehlszeilenargumente, die an Antigen übergeben werden
          - '--exampleParam1'
          - 'paramValue1' # Beispiel mit einem Wert, der als separates Argument übergeben wird
          - '--exampleParam2=paramValue2' # Beispiel mit einem Wert, der im selben Argument übergeben wird
        env: # Optional. Umgebungsvariablen festlegen
          EXAMPLE_ENV1: 'envValue1'
          EXAMPLE_ENV2: '"${HOME}/.example"' # Die einfachen Anführungszeichen sind für YAML, die doppelten Anführungszeichen sind für die Shell
      # Weitere Bibliotheken hier
    antigen_theme:
      name: # Der Name des Themas (z.B. eines der Themen, die mit Oh-My-Zsh geliefert werden)
      url: # Optional. Wenn das Thema nicht mit Oh-My-Zsh geliefert wird, musst du die Git-URL angeben
      env: {} # Optional. Umgebungsvariablen festlegen
    antigen_bundles:
      - name: # Der Name des Antigen-Bundles (z.B. eines der Plugins, die mit Oh-My-Zsh geliefert werden)
        url: # Optional. Wenn es sich nicht um eines der Oh-My-Zsh-Plugins handelt, musst du die URL angeben (benutze owner/repo-Abkürzung für GitHub)
        location: # Optional. Das Verzeichnis im Repository, das das Plugin enthält
        branch: # Optional. Git-Branch auschecken.
        tag: # Optional. Git-Tag auschecken (hat Vorrang vor dem Branch)
        args: [] # Optional. Befehlszeilenargumente, die an Antigen übergeben werden
        env: {} # Optional. Umgebungsvariablen festlegen
      # Weitere Bundles hier
  # Weitere Benutzer hier

Beispiel-Playbooks

Das Folgende erreicht das Gleiche wie das Beispiel in der Antigen README.mkd.

- hosts: server
  roles:
    - role: gantsign.antigen
      users:
        - username: example
          antigen_libraries:
            - name: oh-my-zsh
          antigen_theme:
            name: robbyrussell
          antigen_bundles:
            # Bundles aus dem Standard-Repo (robbyrussell's oh-my-zsh).
            - name: git
            - name: heroku
            - name: pip
            - name: lein
            - name: command-not-found
            # Syntax-Highlighting-Bundle.
            - name: zsh-syntax-highlighting # `name` ist erforderlich (jeder gültige Dateiname funktioniert, solange er für die Bundles einzigartig ist)
              url: zsh-users/zsh-syntax-highlighting

Das Folgende erreicht das Gleiche wie das Beispiel in der gantsign.oh-my-zsh Rolle README.md

- hosts: server
  roles:
    - role: gantsign.antigen
      users:
        - username: example
          antigen_libraries:
            - name: oh-my-zsh
              env:
                DISABLE_AUTO_UPDATE: '"true"' # Optional (das war im .zshrc der Rolle `gantsign.oh-my-zsh` fest codiert)
          antigen_theme:
            name: robbyrussell # Diese Rolle hat kein Standardthema (im Gegensatz zur Rolle `gantsign.oh-my-zsh`)
          antigen_bundles:
            - name: git # Diese Rolle hat keine Standardbundles/Plugins (im Gegensatz zur Rolle `gantsign.oh-my-zsh`)

Weitere Rollen von GantSign

Weitere Rollen von GantSign findest du auf Ansible Galaxy.

Entwicklung & Testing

Dieses Projekt verwendet Molecule, um die Entwicklung und den Test zu unterstützen; die Rolle wird mit Testinfra und pytest getestet.

Für die Entwicklung oder den Test musst du Folgendes installiert haben:

Da die oben genannten Dinge schwierig zu installieren sein können, enthält dieses Projekt Molecule Wrapper. Molecule Wrapper ist ein Shell-Skript, das Molecule und seine Abhängigkeiten (außer Linux) installiert und dann Molecule mit dem Befehl ausführt, den du ihm übergibst.

Um diese Rolle mit Molecule Wrapper zu testen, führe folgenden Befehl aus dem Projektstammverzeichnis aus:

./moleculew test

Hinweis: Einige der Abhängigkeiten benötigen sudo-Berechtigungen zur Installation.

Lizenz

MIT

Autor

John Freeman

GantSign Ltd. Firmen-Nr. 06109112 (in England registriert)

Über das Projekt

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

Installieren
ansible-galaxy install gantsign.antigen
Lizenz
mit
Downloads
110.5k
Besitzer