This playbook configures most of the software I use on my Linux workstation :
- RPM fusion repositories using xiple.rpmfusion role,
- Visual Studio Code using xiple.vscode role,
- Tailscale using xiple.tailscale role,
- TLP using xiple.tlp role,
- Veracrypt using xiple.veracrypt role,
- Xiple's dotfiles using geerlingguy.dotfiles role,
- Docker using geerlingguy.docker role,
- Gnome & Ptyxis shortcuts using ansible community.general.dconf module,
- Libvirt & Vagrant virtualization tools,
- Desktop packages and basic customizations. See vars.yml, tasks/main.yml and tasks/storage.yml.
linux_user: vagrantThe desktop user running the playbook.
Make sure Ansible is installed
python3 -m pip install --user ansible
ansible --versionIn case python3 or pip is not installed
# tested on Fedora, update below command for your system
sudo dnf install python3
python3 -V
sudo dnf install python3-pip
python3 -m pip -VInstall required roles
ansible-galaxy install -r requirements.ymlRun the entire playbook
ansible-playbook -i inventory.ini \
--ask-become-pass \
--extra-vars "linux_user=fedora" \
main.ymlUpdate inventory.ini to run on a specific server (default is localhost).
To run a specific part of the playbook
ansible-playbook -i inventory.ini \
--ask-become-pass \
--extra-vars "linux_user=fedora" \
--tags gnome \
--skip-tags tlp \
main.ymlMIT
Tested on Fedora 43, 44.