ctorgalson.oh-my-zsh
Rola Ansible Oh My ZSH
Jest to podstawowa rola Ansible do włączenia i skonfigurowania Oh My Zsh na systemach Fedora, Ubuntu lub MacOS. Powinna również działać na wielu innych wariantach *nix. Wykonuje następujące zadania:
- Instalacja i minimalna konfiguracja Zsh:
- sprawdzenie, czy Zsh jest zainstalowany,
- ustawienie Zsh jako domyślnej powłoki dla użytkownika określonego w roli.
- Instalacja Oh My Zsh dla każdego określonego użytkownika (domyślnie w
~/.oh-my-zsh). - Konfiguracja (Oh My) Zsh poprzez opcjonalne utworzenie pliku
.zshrcdla każdego określonego użytkownika. - Alternatywnie, konfiguracja Zsh poprzez dodanie bloków linii do indywidualnych plików
.zshrcużytkowników.
Zmienne roli
| Nazwa zmiennej | Wartość domyślna | Opis |
|---|---|---|
omz_install_zsh |
false |
Określa, czy rola powinna próbować zainstalować Zsh. |
omz_user |
[] |
Użytkownik, dla którego ma być zainstalowane/skonfigurowane (Oh My) Zsh. Zobacz poniżej dla właściwości. |
omz_user.name |
- |
Nazwa użytkownika. |
omz_user.group |
- |
Grupa użytkownika. |
omz_user.settings |
- |
Dodatkowe ustawienia (jako wielolinijkowy ciąg), takie jak eksport zmiennych lub aliasy do dodania do pliku .zshrc użytkownika. Używane tylko, jeśli omz_zshrc_create jest true. |
omz_git_repository |
https://github.com/robbyrussell/oh-my-zsh.git |
Repozytorium git do sklonowania Oh My Zsh. |
omz_install_directory |
.oh-my-zsh |
Nazwa katalogu, do którego zostanie sklonowane Oh My Zsh. |
omz_zshrc_create |
true |
Określa, czy utworzyć plik .zshrc. Jeśli true, utworzy plik .zshrc na podstawie szablonu. |
omz_zshrc_template |
templates/zshrc.zsh-template.j2 |
Szablon używany do tworzenia pliku .zshrc użytkownika, gdy omz_zshrc_create jest true. |
omz_zshrc_backup |
true |
Określa, czy utworzyć kopię zapasową istniejących plików .zshrc, gdy rola je zmienia. |
omz_zsh_theme |
robbyrussell |
Zobacz templates/zshrc.zsh-template. |
omz_case_sensitive |
false |
Zobacz templates/zshrc.zsh-template. |
omz_hyphen_insensitive |
false |
Zobacz templates/zshrc.zsh-template. |
omz_disable_auto_update |
false |
Zobacz templates/zshrc.zsh-template. |
omz_update_zsh_days |
13 |
Zobacz templates/zshrc.zsh-template. |
omz_disable_ls_colors |
false |
Zobacz templates/zshrc.zsh-template. |
omz_disable_auto_title |
false |
Zobacz templates/zshrc.zsh-template. |
omz_enable_correction |
false |
Zobacz templates/zshrc.zsh-template. |
omz_completion_waiting_dots |
false |
Zobacz templates/zshrc.zsh-template. |
omz_disable_untracked_files_dirty |
false |
Zobacz templates/zshrc.zsh-template. |
omz_hist_stamps |
mm/dd/yyyy |
Zobacz templates/zshrc.zsh-template. |
omz_zsh_custom |
$ZSH/custom |
Zobacz templates/zshrc.zsh-template. |
omz_plugins |
[] |
Lista wtyczek Oh My Zsh do włączenia. |
Pliki zadań roli
main.yml: koordynacja zadań
Ten plik zawiera pliki, które wykonują konkretne podzestawy zadań.
zsh.yml: Ustawienie Zsh
To zadanie instaluje Zsh i ustawia go jako domyślną powłokę dla użytkownika.
Używane zmienne
omz_user
oh-my-zsh-install.yml: Instalacja Oh My Zsh
To zadanie klonuje repozytorium Oh My Zsh do katalogu użytkownika każdego określonego użytkownika i ustawia odpowiednie uprawnienia w tym katalogu.
Używane zmienne
omz_useromz_install_directoryomz_git_repositoryomz_install_path
oh-my-zsh-zshrc.yml: Konfiguracja Oh My Zsh
To zadanie tworzy użytkownikowi plik .zshrc, który zawiera globalne wartości dla różnych opcji Oh My Zsh na podstawie szablonu .zshrc w repozytorium oh-my-zsh.
Zadanie można skonfigurować do tworzenia kopii zapasowej istniejącego pliku .zshrc.
To zadanie uruchamia się tylko, gdy omz_zshrc_create jest ustawione na true.
Używane zmienne
omz_useromz_zshrc_templateomz_zshrc_backup
zsh-zshrc.yml: końcowa konfiguracja Zsh
To zadanie dodaje indywidualne linie do pliku .zshrc. Jest to przydatne do dodawania ustawień Zsh do już istniejącego pliku .zshrc bez tworzenia go od nowa.
To zadanie uruchamia się tylko, gdy omz_zshrc_create jest ustawione na false.
Używane zmienne
omz_useromz_zshrc_backup
Przykładowy 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: Uruchom rolę ansible-role-oh-my-zsh.
include_role:
name: "ansible-role-oh-my-zsh"
vars:
omz_user: "{{ item }}"
# Utwórz `.zshrc` tylko dla użytkownika 'lorem'; ustawienia item.settings zostaną
# dodane do `.zshrc` dla użytkownika '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