Languages
Python
Python gets instaled with pretty recent version using pyenv
version manager. This Python is set as default for ZSH shell and all PIP packages which get installed during ansible run are installed there.
Also, there is pyenv-virtualenv
available to easily manage Python virtual environments.
For usage examples see Usage
Go
Automatic installation of Go is done using GVM
- Go Version Manager. See Usage for details.
Ruby
For Ruby management, there is Ruby Version Manager (RVM) installed. See available Ruby's with rvm list
, use particular with rvm use <ruby_version>
. There are some gems already preinstalled on Rubys available here (like neovim
gem, or if Puppet is being installed, it installs puppet
and puppet-lint
gems).
JAVA/groovy
For multiple versions management for Java, groovy, gradle JDKs/SDKs, SDKMAN! manager is installed and some default JAVA and groovy versions.
Node
For Node, there is NVM installed. See NPM versions with nvm list
. By default there is latest LTS installed.
Puppet
Puppet
and puppet-lint
gems are installed on all configured rubys. Also, latest PDK is available.
There is Puppet LSP (language server protocol) called Puppet Editor Services installed in ~/.lsp/puppet-editor-services
.
By default, Puppet gets installed for all rubies. If you choose to install latest puppet AND older rubies (like 2.4.x), there might be some dependencies errors. If you don't want to install Puppet for all rubies, set puppet_rubies
in vars/overrides.yml
to an array with rubies names. With latest 3.x.x ruby there shouldn't be a problem
Ansible
Ansible gets installed using PIP in designated pyenv
Python environment. Also ansible-lint gets installed.
Also, there is an Ansible Language Server installed globally using default NPM.
To configure linter diagnostics (enable/disable some checks) for Ansible files, see: ansible/roles/config/files/ansible-lint