geerlingguy.dotfiles
Ansible Role: Dotfiles
This role installs a collection of dotfiles from a specified Git repository. By default, it installs my (geerlingguy's) dotfiles, but you can use any dotfiles you prefer, as long as they are structured correctly.
Requirements
You need git
installed on the machine where this role runs (you can install it easily with geerlingguy.git
if you don't have it).
Role Variables
Here are the variables you can use, along with their default values (see defaults/main.yml
):
dotfiles_repo: "https://github.com/geerlingguy/dotfiles.git"
This is the URL of the Git repository to pull the dotfiles from.dotfiles_repo_version: master
This specifies which branch, tag, or commit to use for the dotfiles. Generally, they should be in the main directory of the repository.dotfiles_repo_accept_hostkey: false
Set this to true to add the host key for the repository URL if it isn't already added. Ifssh_opts
includes "-o StrictHostKeyChecking=no," this setting doesn't matter.dotfiles_repo_local_destination: "~/Documents/dotfiles"
This is where thedotfiles_repo
will be cloned on your machine.dotfiles_home: "~"
This is the home directory where the dotfiles will be linked. The default should work, but in some cases, particularly if you're running this as another user with sudo, you might need to specify the full path.dotfiles_files:
- .zshrc
- .gitignore
- .inputrc
- .vimrc
These are the specific files from the dotfiles repository that will be linked todotfiles_home
.
Dependencies
There are no dependencies for this role.
Example Playbook
Here's how to use this role in a playbook:
- hosts: localhost
roles:
- { role: geerlingguy.dotfiles }
License
MIT / BSD
Author Information
This role was created in 2015 by Jeff Geerling, who is also the author of Ansible for DevOps.
Dotfile installation for UNIX/Linux.
ansible-galaxy install geerlingguy.dotfiles