dotfiles
Ansible Role: Dotfiles
Install a set of dotfiles from a given Git repository. By default, it will install my (Radek Sprta's) dotfiles, but you can use any set of dotfiles you'd like, as long as they follow a conventional format.
Requirements
Requires git
on the managed machine (you can easily install it with geerlingguy.git
if required).
Role Variables
Available variables are listed below, along with default values (see defaults/main.yml
):
dotfiles_recursive: true
Clone recursively with submodules.
dotfiles_repo: "https://gitlab.com/radek-sprta/dotfiles.git"
dotfiles_repo_version: master
The git repository and branch/tag/commit hash to use for retrieving dotfiles. Dotfiles should generally be laid out within the root directory of the repository.
dotfiles_repo_accept_hostkey: false
Add the hostkey for the repo url if not already added. If ssh_opts contains "-o StrictHostKeyChecking=no", this parameter is ignored.
dotfiles_repo_local_destination: "~/dotfiles"
The local path where the dotfiles_repo
will be cloned.
dotfiles_force_clone: false
When true, it will force clone the repository, overwriting any local changes.
dotfiles_home: "~"
The home directory where dotfiles will be linked. Generally, the default should work, but in some circumstances, or when running the role as sudo on behalf of another user, you may want to specify the full path.
dotfiles_files:
- ansible.cfg
- config/fish
- config/flake8
- config/yakuakerc
- gitconfig
- gitignore_global
- gitmessage
- inputrc
- selected_editor
- tmux.conf
- vim
- vimrc
Which files from the dotfiles repository should be linked to the dotfiles_home
.
dotfiles_start_with_dot: false
Whether the files in the repository start with dot or not.
Example Playbook
- hosts: localhost
roles:
- { role: radek_sprta.dotfiles }
License
MIT
Author Information
Radek Sprta mail@radeksprta.eu. Based on dotfiles role by Jeff Geerling.
Install a set of dotfiles from a given repository.
ansible-galaxy install radek-sprta/ansible-role-dotfiles