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 .zshrcużytkownika. Używane tylko, jeśliomz_zshrc_createjesttrue. | 
| 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ślitrue, utworzy plik.zshrcna podstawie szablonu. | 
| omz_zshrc_template | templates/zshrc.zsh-template.j2 | Szablon używany do tworzenia pliku .zshrcużytkownika, gdyomz_zshrc_createjesttrue. | 
| 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_user
- omz_install_directory
- omz_git_repository
- omz_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_user
- omz_zshrc_template
- omz_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_user
- omz_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