ohmyzsh
: Install and configure Oh-My-ZSH
ohmyzsh::fetch::theme
: Install a theme from a defined sourceohmyzsh::install
: Install and configure Oh-My-ZSH for an userohmyzsh::plugins
: Install and configure Oh-My-ZSH plugins for an userohmyzsh::profile
: Configure the ZSH profile for an userohmyzsh::theme
: Configure the ZSH theme for an user
This is the ohmyzsh module. It creates a profile directory under user home and allows custom scripts to setup and made avalible on the path.
This module is called ohmyzsh as Puppet does not support hyphens in module names.
View README.md for full documentation.
The following parameters are available in the ohmyzsh
class:
Data type: Stdlib::Httpsurl
Oh-My-ZSH repository. See data/ for the default value.
Data type: Stdlib::Absolutepath
Default home base directory. See data/ for the default value.
Data type: Stdlib::Absolutepath
Path of the zsh executable. See data/ for the default value.
Data type: Hash
Install and configure Oh-My-ZSH for users defined in this hash. See data/ for the default value.
Data type: Hash
Configure the themes for users defined in this hash. See data/ for the default value.
Data type: Hash
Configure the plugins for users defined in this hash. See data/ for the default value.
Data type: Hash
Configure the profile for users defined in this hash. See data/ for the default value.
Install a theme from a defined source
The following parameters are available in the ohmyzsh::fetch::theme
defined type:
Data type: Optional[Stdlib::Httpurl]
The URL of the git repository (if source
is git
) or to the file
Default value: undef
Data type: Optional[String]
git
for a repository, undef
for a file to download or the source to pass to Puppet file
Default value: undef
Data type: Optional[String]
The content to pass to Puppet file
, only if source
and url
is unset.
Default value: undef
Data type: Optional[String]
The file name to use while saving the theme
Default value: undef
Data type: Optional[String]
Revision to checkout while using Git
Default value: undef
Data type: Optional[Integer]
Controls the shallow clone for Git
Default value: undef
Install and configure Oh-My-ZSH for an user
The following parameters are available in the ohmyzsh::install
defined type:
Data type: Enum[present, latest]
Controls the way the Oh-My-ZSH repository is managed by Puppet.
Default value: latest
Data type: Boolean
Controls whether to change the user shell to zsh.
Default value: false
Data type: Enum[always, disabled, sync]
Controls the update of .zshrc from the upstream template.
Default value: disabled
Data type: Boolean
Controls if a backup of .zshrc need to be sone before changes.
Default value: true
Data type: Enum[auto, disabled, reminder]
Controls the update check for oh-my-zsh.
Default value: disabled
Data type: Integer[0]
Controls the update check frequency.
Default value: 14
Install and configure Oh-My-ZSH plugins for an user
The following parameters are available in the ohmyzsh::plugins
defined type:
Data type: Array[String]
List of built-in plugins.
Default value: ['git']
Data type: Hash[String, Struct[ { source => Enum[git], url => Stdlib::Httpsurl, ensure => Enum[present, latest], revision => Optional[String], depth => Optional[Integer] } ] ]
List of plugins to install and use.
Default value: {}
Configure the ZSH profile for an user
The following parameters are available in the ohmyzsh::profile
defined type:
Data type: Hash[String[1], Stdlib::Filesource]
A hash of name => paths to all the scripts.
Default value: {}
Configure the ZSH theme for an user
The following parameters are available in the ohmyzsh::theme
defined type:
Data type: String
The name of the theme to use.
Default value: 'clean'