This playbook automates the provisioning of the modular fedora silverblue and regular workstation. The playbook implements two roles for this tasks, base and podman.
If you are already on a silverblue host you have several choices installing ansible:
a.) Install it via podman (ssh needs to be configured)
b.) Create a pyenv with ansible
and selinux
c.) Extend the base os via rpm-ostree/dnf (easiest)
sudo rpm-ostree install ansible
After that you can take use of the Makefile
.
e.g. run the whole playbook: make
The playbook can be run in check mode with make check
By default make
works mit the localhost.ini inventory. In this file you need to set the os
variable to either silverblue
or workstation
.
If you want to manage multiple hosts, create an own host inventory and run the playbook with make hostfile=name-of-your-inventory
The Base rule has some proper defaults; if you want to overwrite them, do that within vars/base.yml
, on a group base in group_vars/os_workstation.yml
/group_vars/os_silverblue.yml
or on a per host base within the inventory.
The base packages can be set with the basepkg
variable. This will overwrite the default.
Optional packages can be set with the variable optpkg
The Flatpaks are grouped in categories, you can disable the whole category with
flatpak-<bundlename>: false
overwrite the default with
flatpak_bundle_<bundlename>
or add additional flatpaks with
flatpak_bundle_<bundlename_extra
For a list of bundles take a look in roles/base/defaults/main.yml
You can either place a custom gsettings dict or add additional entries with gsettings_extra
.
This playbook is still in development.