i3-gaps zsh pureprompt polybar
Weechat
Chrome Rofi Stylish
Connman GTK Theme
Ansible allows to duplicate this Desktop Environment over multiple hosts with specific configuration (dualscreen, packages...). All your nodes will have access to all configurations if
- your git repo is accessible from every nodes
- your current node ssh keys is authorized on all nodes
You should be able to edit and push from/to any managed hosts.
Please check vagrant/*/README.md
and docker/*/README.md
Please look at roles/*/README.md
if exists for specific hosts configuration.
Should not be used as root
.
- Archlinux
- ansible >= 2.4
- packages-common
- fish
- neovim
- terminfo
- screen
- authorized_keys
- packages-desktop
- gtk
- i3-wm
- picom
- polybar
- variety
- rofi
- neofetch
- termite
- weechat
- ssh-agent
- dpms
- packages-laptop [only laptop tag]
- xbindkeys [only laptop tag]
Only cli tools
It could be run as root
.
- Archlinux
- Debian
- Centos
- FreeBSD : need to
sudo ln -s /usr/local/bin/python2 /usr/bin/python
- ansible >= 2.4
- packages-common
- fish
- neovim
- terminfo
- screen
- authorized_keys
** Use carefully** backup your home before using ! Ansible will backup any existing conf file before overriding.
git clone --recursive https://github.com/[your_repo]/dotfiles
cd dotfiles
ssh-keygen -t rsa
!!! Use as is, you will add my SSH key in your authorized_keys !!!
cp ~/.ssh/id_rsa.pub dotfiles/roles/authorized_keys/id_rsa.pub
hosts
file is defaultly gitignored.
cd dotfiles
mv hosts.template hosts
Add your hosts in right sections
- server : install only cli tools
- desktop : install graphic environment
- laptop : install desktop + some extra packages
Please explicitly define an ansible_user
which will receive configurations
[server]
server1 ansible_user=root
[laptop]
host1 ansible_user=user
[desktop]
host2 ansible_user=user2
Remove useless groups and hosts
Node per node if password differ between users. It adds your public ssh keys on hosts
ansible-playbook install.yml -t init_ssh -l host1 -k
ansible-playbook install.yml -t init_ssh -l host2 -k
ansible-playbook install.yml -t init_ssh -l host3 -k
For runs on hosts configured with root user You can use without providing extra passwords
ansible-playbook install.yml -l server
For hosts configured with non-root user User needs to be in sudoers. You need to use -K to ask sudo password, and -l to limit to that host
ansible-playbook install.yml -l host1 -K
To list tasks and tags
ansible-playbook install.yml --list-tasks
To limit to a tag
ansible-playbook install.yml -K -t <tag>
To dry-run and print files diff on all declared hosts
ansible-playbook install.yml -l host1 -CDK
Add localhost line and user in right hosts file section
[server]
[laptop]
localhost ansible_connection=local ansible_user=user
[desktop]
ansible-playbook install.yml -l localhost -K
IRC
eoli3n @ freenode #archlinux-fr