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 .zshrc dla każdego określonego użytkownika.
  • Alternatywnie, konfiguracja Zsh poprzez dodanie bloków linii do indywidualnych plików .zshrc uż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_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 }}"
O projekcie

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

Zainstaluj
ansible-galaxy install ctorgalson.oh-my-zsh
Licencja
mit
Pobrania
3.9k
Właściciel