916296c6d8
This is basically a simpler version of the Fedora Workstation playbook with some layered packages on top of it. |
||
---|---|---|
inventory | ||
playbooks | ||
roles | ||
.gitignore | ||
ansible.cfg | ||
README.adoc |
A tour of the project
Welcome to the project, wandering "declarative desktop management" dreamers! Here’s one of the many ways to achieve what you’ve been looking for while the world is not enlightened yet.
Prerequisites
For this project to work, you need the following dependencies.
-
Ansible (of course)
-
ansible-galaxy
The playbook collection also makes use of several collections from Ansible Galaxy. This mainly includes the following collections.
-
ansible.posix
-
community.general
Core tasks
The maintenance required for this project is not that big. It requires the same amount of attention as often as you install operating systems for the desktop (unless that’s what you do professionally).
This playbook collection is primarily intended for automating my personal desktop systems. It shouldn’t require an Ansible server running but having one is immensely beneficial. All operations are assumed to be done at the project root.
The main commands to interact with the playbooks can be summarized in this postcard-sized code block.
# To do the thing for one of your host.
ansible-playbook --ask-become-pass $PLAYBOOK_FILE
# Checking time!
ansible-playbook --ask-become-pass --check $PLAYBOOK_FILE
Project structure
This Ansible playbook collection takes a lot of cues from Justin W. Flory’s Ansible playbooks down to the very folder structure.
ansible-playbooks
├── inventory/ (1)
├── playbooks/ (2)
├── roles/ (3)
├── ansible.cfg (4)
└── README.adoc
-
Contains the inventory for the Ansible server. [1]
-
Various playbooks for various setups. Practically, this is similar to the
hosts
directory from my NixOS configuration. -
Contains the roles that mainly contain modularized tasks. This is similarly used to the
modules
directory from my NixOS configuration. -
The custom configuration for the Ansible server.
Resources
This configuration may evolve into an abominable framework of configuration over time. At some point, it won’t be the simple "Hello World"-esque reference for Ansible. If you’re looking where to start learning about this, I’ve saved a list of them from the beginning:
-
Fedora Magazine’s article with a very simple example. This is where I first found about it and the very beginning of the Ansible usage journey.
-
Some already existing configurations laying out and about on the internet…
-
Justin W. Flory’s Ansible playbooks are a nice example on getting a complete configuration with Ansible.
-
fabaff’s Ansible playbook for Fedora is a perfect example for Fedora-specific configurations and it is simpler compared to the previously mentioned examples.
-
89luca89’s Ansible playbook for a minimal Fedora installation. It’s a simpler example than the previous making it easier to explore the features.
-