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 .zshrc para cada usuario especificado.
  • Alternativamente, configurar Zsh agregando un bloque de líneas a los archivos .zshrc de 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_user
  • omz_install_directory
  • omz_git_repository
  • omz_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_user
  • omz_zshrc_template
  • omz_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_user
  • omz_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 }}"
Acerca del proyecto

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

Instalar
ansible-galaxy install ctorgalson.oh-my-zsh
Licencia
mit
Descargas
3.9k