gantsign.antigen
Ansible Rolle: Antigen
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)
Role for installing the Antigen plugin manger for Zsh and using it to configure Zsh.
ansible-galaxy install gantsign.antigen