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
.zshrcpour chaque utilisateur spécifié. - Alternativement, configurer Zsh en ajoutant un bloc de lignes dans les fichiers
.zshrcdes 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_useromz_install_directoryomz_git_repositoryomz_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_useromz_zshrc_templateomz_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_useromz_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 }}"
Installs and configures oh-my-zsh for one or more users on Fedora, macOS, or Ubuntu.
ansible-galaxy install ctorgalson.oh-my-zsh