gantsign.antigen

Ansible角色:Antigen

测试 Ansible Galaxy 许可证

用于安装Antigen插件管理器以配置Zsh的角色。

此角色有一个伴随角色,允许您有条件地安装特定的Antigen包。您可以在gantsign.antigen_bundles找到该角色的详细信息。

:thumbsdown: 废弃通知 :thumbsdown:

最后一个Antigen版本是 v2.2.3,发布日期为2018年1月4日。这个角色实际上使用的是 v2.0.2(2017年4月22日),因为后续版本和一些Oh My Zsh插件存在问题。由于Antigen似乎不再维护,我们不建议使用这个角色。在GantSign迁移到不同的Zsh插件管理器之前,此角色将继续维护。

要求

  • Ansible >= 2.9

  • Linux发行版

    • Debian系列

      • Debian

        • Stretch (9)
        • Buster (10)
        • Bullseye (11)
      • Ubuntu

        • Bionic (18.04)
        • Focal (20.04)
    • RedHat系列

      • Rocky Linux

        • 8
      • Fedora

        • 35
    • SUSE系列

      • openSUSE

        • 15.3
    • 注意:其他版本可能有效,但未经过测试。

角色变量

以下变量将改变此角色的行为:

# Antigen版本号
antigen_version: '2.0.2'

# 可分发包的SHA256校验和
antigen_redis_sha256sum: 'f47ec933b32c578abe8cb39b24e0ddd114ef5cc01b3c05bcb634859ead31493f'

# 是否应与Antigen一起安装Oh-My-Zsh(不调用`antigen use`)
antigen_install_oh_my_zsh: yes

# Antigen下载的镜像位置
antigen_redis_mirror: 'https://github.com/zsh-users/antigen/releases/download/v{{ antigen_version }}'

# 在远程主机上存储Antigen安装文件的目录
antigen_download_dir: "{{ x_ansible_download_dir | default(ansible_env.HOME + '/.ansible/tmp/downloads') }}"

# Antigen是按用户安装的,因此您需要指定要为其安装的用户
users:
  - username: # 要为其安装Antigen的用户名
    antigen_libraries:
      - name: # 库的名称(例如oh-my-zsh或prezto),必须唯一
        url: # 可选。如果使用自定义库,必须指定Git URL
        args: # 可选。要传递给Antigen的命令行参数
          - '--exampleParam1'
          - 'paramValue1' # 以单独参数传递的示例值
          - '--exampleParam2=paramValue2' # 以同一参数传递的示例值
        env: # 可选。要设置的环境变量
          EXAMPLE_ENV1: 'envValue1'
          EXAMPLE_ENV2: '"${HOME}/.example"' # 单引号用于YAML,双引号用于shell
      # 这里可以添加更多库
    antigen_theme:
      name: # 库的名称(例如Oh-My-Zsh自带的主题之一)
      url: # 可选。如果主题不带Oh-My-Zsh,必须指定Git URL
      env: {} # 可选。要设置的环境变量
    antigen_bundles:
      - name: # Antigen包的名称(例如Oh-My-Zsh自带的插件之一)
        url: # 可选。如果不是其中任何一个Oh-My-Zsh插件,必须指定URL(使用owner/repo简写表示GitHub)
        location: # 可选。包含插件的存储库中的目录
        branch: # 可选。要检出的Git分支
        tag: # 可选。要检出的Git标签(优先于分支)
        args: [] # 可选。要传递给Antigen的命令行参数
        env: {} # 可选。要设置的环境变量
      # 这里可以添加更多包
  # 这里可以添加更多用户

示例剧本

以下实现了Antigen的示例中的相同功能 README.mkd

- hosts: servers
  roles:
    - role: gantsign.antigen
      users:
        - username: example
          antigen_libraries:
            - name: oh-my-zsh
          antigen_theme:
            name: robbyrussell
          antigen_bundles:
            # 来自默认库的包(robbyrussell的oh-my-zsh)。
            - name: git
            - name: heroku
            - name: pip
            - name: lein
            - name: command-not-found
            # 语法高亮包。
            - name: zsh-syntax-highlighting # `name`是必填的(任何有效的文件名,只要在包中唯一即可)
              url: zsh-users/zsh-syntax-highlighting

以下实现了与gantsign.oh-my-zsh角色 README.md中的示例相同的功能。

- hosts: servers
  roles:
    - role: gantsign.antigen
      users:
        - username: example
          antigen_libraries:
            - name: oh-my-zsh
              env:
                DISABLE_AUTO_UPDATE: '"true"' # 可选(这在`gantsign.oh-my-zsh`角色的.zshrc中是硬编码的)
          antigen_theme:
            name: robbyrussell # 此角色没有默认主题(与`gantsign.oh-my-zsh`角色不同)
          antigen_bundles:
            - name: git # 此角色没有默认包/插件(与`gantsign.oh-my-zsh`角色不同)

GantSign的更多角色

您可以在Ansible Galaxy上找到GantSign的更多角色。

开发与测试

此项目使用Molecule来帮助开发和测试;该角色使用Testinfrapytest进行单元测试。

要开发或测试,您需要安装以下内容:

由于上述内容的安装可能会有些复杂,因此该项目包含Molecule Wrapper。Molecule Wrapper是一个shell脚本,用于安装Molecule及其依赖项(除了Linux),然后执行您传递给它的命令。

要使用Molecule Wrapper测试此角色,请从项目根目录运行以下命令:

./moleculew test

注意:某些依赖项需要sudo权限才能安装。

许可证

MIT

作者信息

John Freeman

GantSign Ltd. 公司编号:06109112(在英格兰注册)

关于项目

Role for installing the Antigen plugin manger for Zsh and using it to configure Zsh.

安装
ansible-galaxy install gantsign.antigen
许可证
mit
下载
110.5k
拥有者