ctorgalson.oh-my-zsh

Ansible роль Oh My ZSH

Это базовая Ansible роль для активации и настройки Oh My Zsh на Fedora, Ubuntu или MacOS. Она также должна работать на многих других вариантах *nix. Она выполняет следующие задачи:

  • Устанавливает и минимально настраивает Zsh:
    • проверяет, что Zsh существует,
    • устанавливает его как оболочку по умолчанию для пользователя, указанного в роли.
  • Устанавливает Oh My Zsh для каждого указанного пользователя (по умолчанию в ~/.oh-my-zsh).
  • Настраивает (Oh My) Zsh, возможно создавая файл .zshrc для каждого указанного пользователя.
  • В качестве альтернативы настраивает Zsh, добавляя блок строк в файлы .zshrc отдельных пользователей.

Переменные роли

Имя переменной Значение по умолчанию Описание
omz_install_zsh false Определяет, должна ли роль пытаться установить Zsh.
omz_user [] Пользователь, для которого устанавливается/настраивается (Oh My) Zsh. См. ниже его свойства.
omz_user.name - Имя пользователя.
omz_user.group - Группа пользователя.
omz_user.settings - Дополнительные настройки (в виде многострочной строки), такие как экспорт переменных или алиасы, которые нужно добавить в файл .zshrc пользователя. Используется только если omz_zshrc_create равно true.
omz_git_repository https://github.com/robbyrussell/oh-my-zsh.git Git репозиторий, из которого будет клонироваться Oh My Zsh.
omz_install_directory .oh-my-zsh Название директории для клонирования Oh My Zsh.
omz_zshrc_create true Создавать ли .zshrc. Если true, будет создан .zshrc из шаблона.
omz_zshrc_template templates/zshrc.zsh-template.j2 Шаблон, используемый для создания файла .zshrc пользователя, когда omz_zshrc_create равно true.
omz_zshrc_backup true Создавать ли резервные копии существующих файлов .zshrc, когда роль изменяет их.
omz_zsh_theme robbyrussell См. templates/zshrc.zsh-template.
omz_case_sensitive false См. templates/zshrc.zsh-template.
omz_hyphen_insensitive false См. templates/zshrc.zsh-template.
omz_disable_auto_update false См. templates/zshrc.zsh-template.
omz_update_zsh_days 13 См. templates/zshrc.zsh-template.
omz_disable_ls_colors false См. templates/zshrc.zsh-template.
omz_disable_auto_title false См. templates/zshrc.zsh-template.
omz_enable_correction false См. templates/zshrc.zsh-template.
omz_completion_waiting_dots false См. templates/zshrc.zsh-template.
omz_disable_untracked_files_dirty false См. templates/zshrc.zsh-template.
omz_hist_stamps mm/dd/yyyy См. templates/zshrc.zsh-template.
omz_zsh_custom $ZSH/custom См. templates/zshrc.zsh-template.
omz_plugins [] Список плагинов Oh My Zsh для активации.

Файлы задач роли

main.yml: координация задач

Этот файл включает в себя файлы, которые выполняют конкретные подмножества задач.

zsh.yml: настройка Zsh

Эта задача устанавливает и устанавливает Zsh как оболочку по умолчанию для пользователя.

Используемые переменные

  • omz_user

oh-my-zsh-install.yml: установка Oh My Zsh

Эта задача клонирует репозиторий Oh My Zsh в пользовательскую директорию каждого указанного пользователя и задает соответствующие права на директорию.

Используемые переменные

  • omz_user
  • omz_install_directory
  • omz_git_repository
  • omz_install_path

oh-my-zsh-zshrc.yml: конфигурация Oh My Zsh

Эта задача создает для пользователя файл .zshrc, содержащий глобальные значения для различных параметров Oh My Zsh на основе шаблона .zshrc в репозитории oh-my-zsh. Задача может быть настроена на создание резервной копии любого существующего файла .zshrc.

Эта задача выполняется только если omz_zshrc_create установлено в true.

Используемые переменные

  • omz_user
  • omz_zshrc_template
  • omz_zshrc_backup

zsh-zshrc.yml: финальная настройка Zsh

Эта задача добавляет отдельные строки в файл .zshrc. Это полезно для добавления настроек Zsh в уже существующий файл .zshrc без его создания с нуля.

Эта задача выполняется только если omz_zshrc_create установлено в false.

Используемые переменные

  • omz_user
  • omz_zshrc_backup

Пример плейбука

---
- name: Плейбук
  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: Запустить ansible-role-oh-my-zsh.
      include_role:
        name: "ansible-role-oh-my-zsh"
      vars:
        omz_user: "{{ item }}"
        # Создать `.zshrc` только для пользователя 'lorem'; item.settings будет
        # добавлено в `.zshrc` для пользователя '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
Лицензия
mit
Загрузки
3.7k
Владелец