ctorgalson.oh-my-zsh

Ansible Rolle Oh My ZSH

Dies ist eine grundlegende Ansible-Rolle, um Oh My Zsh auf Fedora, Ubuntu oder MacOS zu aktivieren und zu konfigurieren. Sie sollte auch auf vielen anderen *nix-Varianten funktionieren. Sie führt folgende Aufgaben aus:

  • Installiert und konfiguriert Zsh minimal:
    • stellt sicher, dass es existiert,
    • setzt es als Standard-Shell für den im Rollenskript angegebenen Benutzer.
  • Installiert Oh My Zsh für jeden angegebenen Benutzer (Standardmäßig in ~/.oh-my-zsh).
  • Konfiguriert (Oh My) Zsh, indem optional eine .zshrc-Datei für jeden angegebenen Benutzer erstellt wird.
  • Alternativ wird Zsh konfiguriert, indem eine Blockzeile in die .zshrc-Dateien der einzelnen Benutzer hinzugefügt wird.

Rollenvariablen

Variablenname Standardwert Beschreibung
omz_install_zsh false Definiert, ob die Rolle versuchen soll, Zsh zu installieren.
omz_user [] Der Benutzer, für den (Oh My) Zsh installiert/konfiguriert werden soll. Weitere Eigenschaften siehe unten.
omz_user.name - Der Name des Benutzers.
omz_user.group - Die Gruppe des Benutzers.
omz_user.settings - Zusätzliche Einstellungen (als mehrzeiliger String), wie Variablenexporte oder Aliase, die in die .zshrc-Datei des Benutzers hinzugefügt werden. Wird nur verwendet, wenn omz_zshrc_create auf true gesetzt ist.
omz_git_repository https://github.com/robbyrussell/oh-my-zsh.git Das Git-Repo, von dem Oh My Zsh geklont wird.
omz_install_directory .oh-my-zsh Der Name des Verzeichnisses, in das Oh My Zsh geklont wird.
omz_zshrc_create true Ob die .zshrc-Datei erstellt werden soll oder nicht. Wenn true, wird .zshrc aus einer Vorlage erstellt.
omz_zshrc_template templates/zshrc.zsh-template.j2 Die Vorlage, die verwendet wird, um die .zshrc-Datei des Benutzers zu erstellen, wenn omz_zshrc_create auf true gesetzt ist.
omz_zshrc_backup true Ob vorhandene .zshrc-Dateien gesichert werden sollen, wenn die Rolle sie ändert.
omz_zsh_theme robbyrussell Siehe templates/zshrc.zsh-template.
omz_case_sensitive false Siehe templates/zshrc.zsh-template.
omz_hyphen_insensitive false Siehe templates/zshrc.zsh-template.
omz_disable_auto_update false Siehe templates/zshrc.zsh-template.
omz_update_zsh_days 13 Siehe templates/zshrc.zsh-template.
omz_disable_ls_colors false Siehe templates/zshrc.zsh-template.
omz_disable_auto_title false Siehe templates/zshrc.zsh-template.
omz_enable_correction false Siehe templates/zshrc.zsh-template.
omz_completion_waiting_dots false Siehe templates/zshrc.zsh-template.
omz_disable_untracked_files_dirty false Siehe templates/zshrc.zsh-template.
omz_hist_stamps mm/dd/yyyy Siehe templates/zshrc.zsh-template.
omz_zsh_custom $ZSH/custom Siehe templates/zshrc.zsh-template.
omz_plugins [] Eine Liste von Oh My Zsh-Plugins, die aktiviert werden sollen.

Rollendateien für Aufgaben

main.yml: Aufgabenkoordination

Diese Datei inkludiert Dateien, die spezifische Teilaufgaben ausführen.

zsh.yml: Zsh-Setup

Diese Aufgabe installiert und setzt Zsh als Standard-Shell für einen Benutzer.

Verwendete Variablen

  • omz_user

oh-my-zsh-install.yml: Oh My Zsh-Installation

Diese Aufgabe klont das Oh My Zsh-Repository in das Benutzerverzeichnis jedes angegebenen Benutzers und setzt die entsprechenden Berechtigungen für das Verzeichnis.

Verwendete Variablen

  • omz_user
  • omz_install_directory
  • omz_git_repository
  • omz_install_path

oh-my-zsh-zshrc.yml: Oh My Zsh-Konfiguration

Diese Aufgabe erstellt für den Benutzer eine .zshrc-Datei mit globalen Werten für verschiedene Oh My Zsh-Optionen basierend auf der .zshrc-Vorlage im Oh My Zsh-Repository. Die Aufgabe kann so konfiguriert werden, dass vorhandene .zshrc-Dateien gesichert werden.

Diese Aufgabe läuft nur, wenn omz_zshrc_create auf true gesetzt ist.

Verwendete Variablen

  • omz_user
  • omz_zshrc_template
  • omz_zshrc_backup

zsh-zshrc.yml: finale Zsh-Konfiguration

Diese Aufgabe fügt einzelne Zeilen zur .zshrc-Datei hinzu. Dies ist nützlich, um Zsh-Einstellungen in einer bereits vorhandenen .zshrc-Datei hinzuzufügen, ohne sie von Grund auf neu zu erstellen.

Diese Aufgabe läuft nur, wenn omz_zshrc_create auf false gesetzt ist.

Verwendete Variablen

  • omz_user
  • omz_zshrc_backup

Beispielplaybook

---
- name: Playbook
  hosts: all
  become: true

  vars:
    omz_install_zsh: true
    users:
      - name: "lorem"
        group: "lorem"
        settings: ""
      - name: "ipsum"
        group: "ipsum"
        settings: |
          export PATH="/usr/local/sbin:$path"
          alias l="ls -AF"
  tasks:
    - name: Führe ansible-role-oh-my-zsh aus.
      include_role:
        name: "ansible-role-oh-my-zsh"
      vars:
        omz_user: "{{ item }}"
        # Erstelle nur die `.zshrc` für den Benutzer 'lorem'; item.settings wird 
        # an die `.zshrc` für den Benutzer 'ipsum' angehängt.
        omz_zshrc_create: "{{ (item.name == 'lorem') | ternary(true, false) }}"
        omz_plugins:
          - "autojump"
          - "git"
      with_items: "{{ users }}"
Über das Projekt

Installs and configures oh-my-zsh for one or more users on Fedora, macOS, or Ubuntu.

Installieren
ansible-galaxy install ctorgalson.oh-my-zsh
Lizenz
mit
Downloads
3.8k