oh-my-zsh
Ansible Role: oh-my-zsh
Installs and configures the zsh
shell and oh-my-zsh.
Role Variables
Available variables are listed below, along with default values (see defaults/main.yml
):
ohmyzsh_install_users
A list of user accounts to update. All accounts listed will have oh-my-zsh
installed as well as a .zshrc file copied into place.
Default: ohmyzsh_install_users: []
ohmyzsh_shell_users
A list of accounts for whom the default shell should be updated too. These accounts will have the login shell changed to zsh
.
Default: ohmyzsh_shell_users: []
ohmyzsh_theme
Which theme to use. See oh-my-zsh/wiki/Themes for the choices. Currently this is a global setting for all user accounts affected. This role does not currently support setting themes per user.
Default ohmyzsh_theme: gentoo
ohmyzsh_aliases
Any aliases to add to the bottom of .zshrc
. This is also global for all user accounts updated.
Default: ohmyzsh_aliases: []
ohmyzsh_plugins
A list of oh-my-zsh
plugins to enable in .zshrc
. This is also global for all user accounts updated. See the oh-my-zsh
documentation for available plugins.
Default: ohmyzsh_plugins: []
ohmyzsh_syncmode
Get oh-my-zsh
source from either the local copy on the Ansible host, OR from Github.
Default: ohmyzsh_syncmode: local
Possible values: local
| github
(any other value will break things).
Example Playbook
- hosts: all
gather_facts: True
roles:
- { role: oh-my-zsh,
ohmyzsh_install_users: [ zaphod ]
}
Credits
Forked from opdavies/ansible-role-ohmyzsh - And updated to work on CentOS/EL based systems.
Additional changes noted below...
Notes
This role has some unique design and implementation goals compared to the one it was forked from and other zsh/oh-my-zsh roles available.
It assumes that the target hosts may not have direct Internet access or may prefer to get all files internally for some other reason.
As such, by default it syncs a local copy of the
oh-my-zsh
repository from the role itself to the host. (Rather than from Github).Alternatively you can toggle to do a git clone instead as normal.
To cater for the local sync option, auto-updating is disabled within
oh-my-zsh
. This may not suit everyone. You have been warned.