No description
  • Shell 42.3%
  • Jinja 32.9%
  • Tcl 14.5%
  • Python 10.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-01 14:06:09 +02:00
files Adds missing shebang 2026-10-01 14:06:09 +02:00
tasks Adds k8s_configure_kubeconfig to Modules 2026-09-30 10:13:34 +02:00
templates Adds k8s_configure_kubeconfig to Modules 2026-09-30 10:13:34 +02:00
vars Adds k8s_configure_kubeconfig to Modules 2026-09-30 10:13:34 +02:00
.gitignore First commit 2026-09-15 17:08:20 +02:00
ansible.cfg First commit 2026-09-15 17:08:20 +02:00
dotfiles.yml Adds system variable directory 2026-09-16 09:26:48 +02:00
hosts.yml First commit 2026-09-15 17:08:20 +02:00
README.md Changes privatemodules to dictionary and cleaned up template 2026-09-17 09:12:23 +02:00

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>/*.yml system 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