No description
- Shell 42.3%
- Jinja 32.9%
- Tcl 14.5%
- Python 10.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| files | ||
| tasks | ||
| templates | ||
| vars | ||
| .gitignore | ||
| ansible.cfg | ||
| dotfiles.yml | ||
| hosts.yml | ||
| README.md | ||
Just run:
ansible-playbook dotfiles.yml
On Linux systems where you don't have a password-less sudo
ansible-playbook dotfiles.yml --ask-become-pass
Configuration
The playbook will first load variables in vars/default.yml on all hosts running the playbook
Then do overrides by reading variables based on this and in this order
vars/<system>/*.ymlsystem is the system type, eg: Darwin, Linux, etc.. (ansible_system fact)vars/<hostname>/*.yml
Warning
The default behavior is merging variables in this environment
Configurations
Tmux
task file: tasks/tmux.yml
j
Variables:
| variable | type | default value | description |
|---|---|---|---|
| tmux.enabled | boolean | false | Run this block or not |
| tmux.plugin_path | string | ~/.config/tmux/plugins |
Run this block or not |
| tmux.config_file | string | ~/.config/tmux/tmux.conf |
Run this block or not |
| tmux.plugins | list of dict | [] | list of plugins to clone, the dict has name and repo |
Modules
task file: tasks/modules.yml
Variables:
| variable | type | default value | description |
|---|---|---|---|
| modules.enabled | boolean | false | Run this block or not |
| modules.privatemodules_path | string | ~/privatemodules |
root path to private modules |
| modules.modulescommon_path | string | ~/.module_common |
root path to common modules |
| module_config.extra_config | string | "" | add extra configuration to all modules in this group |
| modules.common_sources | list | [] | list containing common modules that will be copied to modules.modulescommon_path. Sources are located in files/modules/sources in this ansible repo |
| modules.privatemodules | dict | {} | configuration for all private modules, se below for syntax |
modules.privatemodules dictionary
| variable | type | default value | description |
|---|---|---|---|
| path | string | in what directory modules.privatemodules_path should the module be created | |
| conflict | string | "" | module conflict configuration |
| sources | list of filenames | [] | list of tcl files (full path) to source for all modules in this path |
| functions | list of functions | [] | list of functions to call for all modules in this path |
| set | list of set | [] | list of tcl variables to set for all modules in this path |
| setalias | list of set-alias | [] | list of aliases to set for all modules in this path |
| setenv | list of setenv | [] | list of environment variables to set for all modules in this path |
| extra_config | string | "" | add extra configuration to this modules |
| module | list of module names | [] | list of modules to create in this path, se below for syntax |
modules.privatemodules.modules
| variable | type | default value | description |
|---|---|---|---|
| name | string | name of the module | |
| whatis | string | description and help string for the module | |
| group_functions | boolean | true | apply the functions for module group |
| group_set | boolean | true | apply the set for module group |
| group_setenvar | boolean | true | apply the setenv for module group |
| group_setalias | boolean | true | apply the setalias for module group |
| functions | list of functions | [] | list of functions to call for this module only |
| set | list of set | [] | list of tcl variables to set for this module |
| setalias | list of set-alias | [] | list of aliases set for this module |
| setenv | list of setenv | [] | list of environment variables to set for this module only |
| sources | list of filenames | [] | list of tcl files (full path) to source for this module only |