ctorgalson.oh-my-zsh
Rol de Ansible Oh My ZSH
Este es un rol básico de Ansible para habilitar y configurar Oh My Zsh en Fedora, Ubuntu o MacOS. También debería funcionar en muchas otras variantes de *nix. Realiza las siguientes tareas:
- Instalar y configurar mínimamente Zsh:
- asegurarse de que exista,
- establecerlo como el shell predeterminado para el usuario especificado por el rol.
- Instalar Oh My Zsh para cada usuario especificado (por defecto en
~/.oh-my-zsh). - Configurar (Oh My) Zsh creando opcionalmente un archivo
.zshrcpara cada usuario especificado. - Alternativamente, configurar Zsh agregando un bloque de líneas a los archivos
.zshrcde los usuarios individuales.
Variables del rol
| Nombre de variable | Valor predeterminado | Descripción |
|---|---|---|
omz_install_zsh |
false |
Define si el rol debe intentar instalar Zsh. |
omz_user |
[] |
El usuario para el que instalar/configurar (Oh My) Zsh. Ver abajo sus propiedades. |
omz_user.name |
- |
El nombre del usuario. |
omz_user.group |
- |
El grupo del usuario. |
omz_user.settings |
- |
Ajustes adicionales (como una cadena de varias líneas) como exportaciones de variables o alias para agregar al archivo .zshrc del usuario. Solo se usa si omz_zshrc_create es true. |
omz_git_repository |
https://github.com/robbyrussell/oh-my-zsh.git |
El repositorio git del cual clonar Oh My Zsh. |
omz_install_directory |
.oh-my-zsh |
El nombre del directorio donde clonar Oh My Zsh. |
omz_zshrc_create |
true |
Si se debe crear .zshrc o no. Si es true, se creará .zshrc a partir de una plantilla. |
omz_zshrc_template |
templates/zshrc.zsh-template.j2 |
La plantilla utilizada para crear el archivo .zshrc del usuario cuando omz_zshrc_create es true. |
omz_zshrc_backup |
true |
Si se deben hacer copias de seguridad de los archivos .zshrc existentes cuando el rol los cambia. |
omz_zsh_theme |
robbyrussell |
Ver templates/zshrc.zsh-template. |
omz_case_sensitive |
false |
Ver templates/zshrc.zsh-template. |
omz_hyphen_insensitive |
false |
Ver templates/zshrc.zsh-template. |
omz_disable_auto_update |
false |
Ver templates/zshrc.zsh-template. |
omz_update_zsh_days |
13 |
Ver templates/zshrc.zsh-template. |
omz_disable_ls_colors |
false |
Ver templates/zshrc.zsh-template. |
omz_disable_auto_title |
false |
Ver templates/zshrc.zsh-template. |
omz_enable_correction |
false |
Ver templates/zshrc.zsh-template. |
omz_completion_waiting_dots |
false |
Ver templates/zshrc.zsh-template. |
omz_disable_untracked_files_dirty |
false |
Ver templates/zshrc.zsh-template. |
omz_hist_stamps |
mm/dd/yyyy |
Ver templates/zshrc.zsh-template. |
omz_zsh_custom |
$ZSH/custom |
Ver templates/zshrc.zsh-template. |
omz_plugins |
[] |
Una lista de complementos de Oh My Zsh para habilitar. |
Archivos de tareas del rol
main.yml: coordinación de tareas
Este archivo incluye archivos que realizan subconjuntos específicos de tareas.
zsh.yml: configuración de Zsh
Esta tarea instala y establece Zsh como el shell predeterminado para un usuario.
Variables usadas
omz_user
oh-my-zsh-install.yml: instalación de Oh My Zsh
Esta tarea clona el repositorio de Oh My Zsh en el directorio del usuario de cada usuario especificado y establece los permisos adecuados en el directorio.
Variables usadas
omz_useromz_install_directoryomz_git_repositoryomz_install_path
oh-my-zsh-zshrc.yml: configuración de Oh My Zsh
Esta tarea crea un archivo .zshrc para el usuario que contiene valores globales para varias opciones de Oh My Zsh basadas en la plantilla .zshrc en el repositorio de oh-my-zsh.
La tarea puede configurarse para hacer una copia de seguridad de cualquier archivo .zshrc existente.
Esta tarea solo se ejecuta cuando omz_zshrc_create se establece en true.
Variables usadas
omz_useromz_zshrc_templateomz_zshrc_backup
zsh-zshrc.yml: configuración final de Zsh
Esta tarea agrega líneas individuales al archivo .zshrc. Esto es útil para agregar configuraciones de Zsh a un archivo .zshrc ya existente sin crearlo desde cero.
Esta tarea solo se ejecuta cuando omz_zshrc_create se establece en false.
Variables usadas
omz_useromz_zshrc_backup
Ejemplo 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: Ejecutar ansible-role-oh-my-zsh.
include_role:
name: "ansible-role-oh-my-zsh"
vars:
omz_user: "{{ item }}"
# Solo crear `.zshrc` para el usuario 'lorem'; item.settings se agregará
# a `.zshrc` para el usuario '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