ctorgalson.oh-my-zsh

Ansible 角色 Oh My ZSH

这是一个基本的 Ansible 角色,用于在 Fedora、Ubuntu 或 MacOS 上启用和配置 Oh My Zsh。它也应该可以在许多其他 *nix 变体上工作。它执行以下任务:

  • 安装并最小配置 Zsh:
    • 确保它存在,
    • 将其设为指定用户的默认 shell。
  • 为每个指定用户安装 Oh My Zsh(默认在 ~/.oh-my-zsh 中)。
  • 配置(Oh My)Zsh,选择性地为每个指定用户创建 .zshrc 文件。
  • 可选择通过向各个用户的 .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,将从模板创建 .zshrc
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 并将其设置为用户的默认 shell。

使用的变量

  • 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 模板 的全局值。可以配置该任务以备份任何现有的 .zshrc 文件。

此任务仅在 omz_zshrc_create 设置为 true 时运行。

使用的变量

  • omz_user
  • omz_zshrc_template
  • omz_zshrc_backup

zsh-zshrc.yml: 最终 Zsh 配置

此任务向 .zshrc 文件添加单独的行。这对在已存在的 .zshrc 文件上添加 Zsh 设置非常有用,而不必从头创建。

此任务仅在 omz_zshrc_create 设置为 false 时运行。

使用的变量

  • omz_user
  • omz_zshrc_backup

示例剧本

---
- 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: 运行 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.8k