# [`ansible-role-dotfiles`][] An [Ansible][] [role][] for deploying [dotfile][]s on [Unix-like][]s. Takes [Git][] repository [URL][]s in the variable `dotfiles`, clones them into subdirectories of `$HOME/.dotfiles` (overridable with the variable `dotfiles_dir`) and uses [`stow`][] (which must be present on the target system!) to [symlink][] the contents into the parent directory of `dotfiles_dir` (overridable with the variable `dotfiles_target`). [`ansible-role-dotfiles`]: https://git.rcrnstn.net/rcrnstn/ansible-role-dotfiles [Ansible]: https://docs.ansible.com/ansible [role]: https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html [dotfile]: https://en.wikipedia.org/wiki/Hidden_file_and_hidden_directory#Unix_and_Unix-like_environments [Unix-like]: https://en.wikipedia.org/wiki/Unix-like [Git]: https://git-scm.com [URL]: https://en.wikipedia.org/wiki/URL [symlink]: https://en.wikipedia.org/wiki/Symbolic_link [`stow`]: https://www.gnu.org/software/stow/ ## Usage Example [`requirements.yml`][]: ```yaml --- roles: - name: 'dotfiles' src: 'https://git.rcrnstn.net/rcrnstn/ansible-role-dotfiles' scm: 'git' ``` Example [playbook][]: ```yaml --- - hosts: 'all' roles: - role: 'dotfiles' dotfiles: - 'https://github.com/user/dotfiles-program1' - 'https://github.com/user/dotfiles-program2' ``` [`requirements.yml`]: https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-multiple-roles-from-a-file [playbook]: https://docs.ansible.com/ansible/latest/user_guide/playbooks.html ## License Licensed under the [ISC License][] unless otherwise noted, see the [`LICENSE`][] file. [ISC License]: https://choosealicense.com/licenses/isc/ [`LICENSE`]: LICENSE