ctorgalson.oh-my-zsh

Ansibleロール Oh My ZSH

これは、Fedora、Ubuntu、またはMacOS上でOh My Zshを有効にし、設定するための基本的なAnsibleロールです。多くの他の* nixバリアントでも動作するはずです。以下のタスクを実行します:

  • Zshをインストールし、最小限の設定を行います:
    • Zshが存在することを確認する。
    • ロールで指定されたユーザーのデフォルトシェルとして設定する。
  • 指定された各ユーザーのためにOh My Zshをインストールします(デフォルトでは~/.oh-my-zsh)。
  • 各指定されたユーザーのために.zshrcファイルを作成して、(Oh My)Zshを設定します(オプション)。
  • または、個々のユーザーの.zshrcファイルに行のブロックを追加してZshを設定します。

ロール変数

変数名 デフォルト値 説明
omz_install_zsh false ロールがZshのインストールを試みるかどうかを定義します。
omz_user [] (Oh My)Zshをインストール/設定するユーザー。詳細は下記。
omz_user.name - ユーザーの名前。
omz_user.group - ユーザーのグループ。
omz_user.settings - ユーザーの.zshrcファイルに追加する変数エクスポートやエイリアスなどの設定(マルチライン文字列)。omz_zshrc_createtrueの場合のみ使用されます。
omz_git_repository https://github.com/robbyrussell/oh-my-zsh.git Oh My ZshをクローンするためのGitリポジトリ。
omz_install_directory .oh-my-zsh Oh My Zshをクローンするディレクトリの名前。
omz_zshrc_create true .zshrcを作成するかどうか。trueの場合はテンプレートから作成します。
omz_zshrc_template templates/zshrc.zsh-template.j2 omz_zshrc_createtrueのときにユーザーの.zshrcファイルを作成するために使用するテンプレート。
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の設定

このタスクは、指定されたユーザーのために、Oh My Zshのさまざまなオプションのグローバル値を含む.zshrcファイルを作成します。タスクは、既存の.zshrcファイルをバックアップするように設定できます。

このタスクは、omz_zshrc_createtrueに設定されているときのみ実行されます。

使用される変数

  • omz_user
  • omz_zshrc_template
  • omz_zshrc_backup

zsh-zshrc.yml: 最終的なZsh設定

このタスクは、.zshrcファイルに個々の行を追加します。これは、すでに存在する.zshrcファイルにZshの設定を追加するのに便利です。

このタスクは、omz_zshrc_createfalseに設定されているときのみ実行されます。

使用される変数

  • 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 }}"
        # ユーザー 'lorem' のためだけに`.zshrc`を作成します; item.settingsは
        # ユーザー 'ipsum' の`.zshrc`に追加されます。
        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.9k