gantsign.antigen
Ansible角色:Antigen
用于安装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来帮助开发和测试;该角色使用Testinfra和pytest进行单元测试。
要开发或测试,您需要安装以下内容:
由于上述内容的安装可能会有些复杂,因此该项目包含Molecule Wrapper。Molecule Wrapper是一个shell脚本,用于安装Molecule及其依赖项(除了Linux),然后执行您传递给它的命令。
要使用Molecule Wrapper测试此角色,请从项目根目录运行以下命令:
./moleculew test
注意:某些依赖项需要sudo
权限才能安装。
许可证
MIT
作者信息
John Freeman
GantSign Ltd. 公司编号:06109112(在英格兰注册)