Personal dotfiles orchestrated with GNU Stow and Ansible with a healthy splash of Docker
My config is based on Ansible roles that can be enabled or disabled based on the needs at hand. The roles contain application installation scripts and configuration data. The current included roles are:
The configuration trys to provide common features through the supported roles:
Currently Supported Operating Systems:
Warning: Must be run as a non root user, if necessary create and add a user
1. Install Ansible
sudo apt-get -y install ansible git
2. Clone the project and customise your Ansible roles
git clone https://github.com/math0ne/dotfiles.git ~/.dotfiles
Optional: Now you can disable any of the main roles you don't need by commenting them out in the
.dotfiles/playbooks/main.yml
file, eg:
roles:
- core
# - tmux # tmux disabled
Optional: Additional Ansible Galaxy roles have to be added or removed from both the
.dotfiles/playbooks/main.yml
file:
roles:
# - nickjj.docker # docker disabled
- your.role # added custom role
Optional: And the
.dotfiles/playbooks/requirements.yml
file:
# - src: nickjj.docker # docker disabled
- src: your.role # added custom role
3. Install the galaxy powered roles
sudo ansible-galaxy install --roles-path=~/.dotfiles/playbooks_galaxy/roles -r ~/.dotfiles/playbooks_galaxy/requirements.yml
sudo ansible-playbook -i ~/.dotfiles/.inventory -K ~/.dotfiles/playbooks_galaxy/main.yml -e "localuser=$USER"
4. Install the main project roles
sudo ansible-playbook -i ~/.dotfiles/.inventory -K ~/.dotfiles/playbooks/main.yml --e "localuser=$USER"
5. Close the ssh session and log back in
This config was inspired / built upon the work of:
Upcoming roles:
Upcoming features: