ctorgalson.oh-my-zsh

Rôle Ansible Oh My ZSH

Ceci est un rôle Ansible basique pour activer et configurer Oh My Zsh sur Fedora, Ubuntu ou MacOS. Il devrait également fonctionner sur de nombreuses autres variantes *nix. Il effectue les tâches suivantes :

  • Installer et configurer Zsh minimalement :
    • vérifier qu'il est installé,
    • le définir comme shell par défaut pour l'utilisateur spécifié par le rôle.
  • Installer Oh My Zsh pour chaque utilisateur spécifié (par défaut dans ~/.oh-my-zsh).
  • Configurer (Oh My) Zsh en créant éventuellement un fichier .zshrc pour chaque utilisateur spécifié.
  • Alternativement, configurer Zsh en ajoutant un bloc de lignes dans les fichiers .zshrc des utilisateurs individuels.

Variables du rôle

Nom de la variable Valeur par défaut Description
omz_install_zsh false Définit si le rôle doit essayer d'installer Zsh ou non.
omz_user [] L'utilisateur pour installer/configurer (Oh My) Zsh. Voir ci-dessous pour ses propriétés.
omz_user.name - Le nom de l'utilisateur.
omz_user.group - Le groupe de l'utilisateur.
omz_user.settings - Paramètres supplémentaires (sous forme de chaîne multi-ligne) tels que les exportations de variables ou les alias à ajouter au fichier .zshrc de l'utilisateur. Utilisé seulement si omz_zshrc_create est true.
omz_git_repository https://github.com/robbyrussell/oh-my-zsh.git Le dépôt git d'où cloner Oh My Zsh.
omz_install_directory .oh-my-zsh Le nom du répertoire dans lequel cloner Oh My Zsh.
omz_zshrc_create true Créer ou non un fichier .zshrc. Si true, crée un .zshrc à partir d'un modèle.
omz_zshrc_template templates/zshrc.zsh-template.j2 Le modèle utilisé pour créer le fichier .zshrc de l'utilisateur lorsque omz_zshrc_create est true.
omz_zshrc_backup true Créer ou non une sauvegarde des fichiers .zshrc existants lorsque le rôle les modifie.
omz_zsh_theme robbyrussell Voir templates/zshrc.zsh-template.
omz_case_sensitive false Voir templates/zshrc.zsh-template.
omz_hyphen_insensitive false Voir templates/zshrc.zsh-template.
omz_disable_auto_update false Voir templates/zshrc.zsh-template.
omz_update_zsh_days 13 Voir templates/zshrc.zsh-template.
omz_disable_ls_colors false Voir templates/zshrc.zsh-template.
omz_disable_auto_title false Voir templates/zshrc.zsh-template.
omz_enable_correction false Voir templates/zshrc.zsh-template.
omz_completion_waiting_dots false Voir templates/zshrc.zsh-template.
omz_disable_untracked_files_dirty false Voir templates/zshrc.zsh-template.
omz_hist_stamps mm/dd/yyyy Voir templates/zshrc.zsh-template.
omz_zsh_custom $ZSH/custom Voir templates/zshrc.zsh-template.
omz_plugins [] Une liste de plugins Oh My Zsh à activer.

Fichiers de tâches du rôle

main.yml: coordination des tâches

Ce fichier inclut des fichiers qui effectuent des sous-ensembles spécifiques de tâches.

zsh.yml: configuration de Zsh

Cette tâche installe et définit Zsh comme shell par défaut pour un utilisateur.

Variables utilisées

  • omz_user

oh-my-zsh-install.yml: installation d'Oh My Zsh

Cette tâche clone le dépôt Oh My Zsh dans le répertoire utilisateur de chaque utilisateur spécifié et définit les permissions appropriées sur le répertoire.

Variables utilisées

  • omz_user
  • omz_install_directory
  • omz_git_repository
  • omz_install_path

oh-my-zsh-zshrc.yml: configuration d'Oh My Zsh

Cette tâche crée pour l'utilisateur un fichier .zshrc contenant des valeurs globales pour diverses options Oh My Zsh en fonction du modèle .zshrc dans le dépôt oh-my-zsh. La tâche peut être configurée pour sauvegarder tout fichier .zshrc existant.

Cette tâche ne s'exécute que lorsque omz_zshrc_create est défini sur true.

Variables utilisées

  • omz_user
  • omz_zshrc_template
  • omz_zshrc_backup

zsh-zshrc.yml: configuration finale de Zsh

Cette tâche ajoute des lignes individuelles au fichier .zshrc. Cela est utile pour ajouter des paramètres Zsh à un fichier .zshrc déjà existant sans le créer à partir de zéro.

Cette tâche ne s'exécute que lorsque omz_zshrc_create est défini sur false.

Variables utilisées

  • omz_user
  • omz_zshrc_backup

Exemple de playbook

---
- 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: Exécuter le rôle ansible-oh-my-zsh.
      include_role:
        name: "ansible-role-oh-my-zsh"
      vars:
        omz_user: "{{ item }}"
        # Créer seulement `.zshrc` pour l'utilisateur 'lorem'; item.settings sera
        # ajouté à `.zshrc` pour l'utilisateur 'ipsum'.
        omz_zshrc_create: "{{ (item.name == 'lorem') | ternary(true, false) }}"
        omz_plugins:
          - "autojump"
          - "git"
      with_items: "{{ users }}"
À propos du projet

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

Installer
ansible-galaxy install ctorgalson.oh-my-zsh
Licence
mit
Téléchargements
3.9k
Propriétaire