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