This is the configuration needed to create rpm-ostree based, desktop variants of Fedora, also known as Fedora Atomic Desktops.
This repo is managed by the Fedora Atomic Desktops SIG.
The currently official Fedora Atomic Desktop variants are:
Reach out to the SIG if you are interested in creating and maintaining a new Atomic variant.
Each variant is described in a YAML treefile which is then used by rpm-ostree to compose an ostree commit with the package requested.
In the Fedora infrastructure, composes are made via pungi with the configuration from:
Installer ISOs are built using Lorax and additional templates: pagure.io/fedora-lorax-templates.
The sources for the Silverblue, Kinoite, Sway Atomic and Budgie Atomic websites are in gitlab.com/fedora/fedora-websites-3.0.
Issues common to all Fedora Atomic Desktops are tracked in gitlab.com/fedora/ostree/sig.
Desktop specific issues should be filed in their respective issue trackers:
The documentation for Fedora Atomic variants is currently duplicated for each variant at Atomic Desktops.
There are plans to unify the documentation: ostree/sig#10
Documentation sources:
All commonly used commands are listed as recipes in the justfile (see Just).
Example to do a local build of Fedora Silverblue:
# Clone the config $ git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config # Build the classic ostree commits (currently the default in Fedora) $ just compose-legacy variant=silverblue # Or build the new ostree native container (not default yet, still in development) $ just compose-image variant=silverblue
Instructions to test the resulting build for classic ostree commits:
simple-http-server --index --ip 192.168.122.1 --port 8000
# Add an ostree remote sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify # Pin the currently deployed (and probably working) version sudo ostree admin pin 0 # List refs from variant remote sudo ostree remote refs testremote # Switch to your variant sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue # Reboot and test!
Instructions to test the resulting build for ostree native containers:
$ rpm-ostree rebase ostree-unverified-image:registry:<oci image>
See URL format for ostree native containers for details.
Follow those steps during the Fedora branch process in Fedora:
Make a PR similar to ansible#1318 in fedora-infra/ansible.
sed -i "s/41/42/g" *.repo comps-sync.py sed -i "s/releasever: 41/releasever: 42/" fedora-common-ostree.yaml sed -i "s/# - fedora-41/# - fedora-42/" fedora-*.yaml mv fedora-41.repo fedora-42.repo mv fedora-41-updates.repo fedora-42-updates.repo sed -i "s/42/42/g" README.md sed -i "s/41/42/g" README.md
rm fedora-rawhide.repo sed -i "/- fedora-rawhide/d" fedora-*.yaml sed -i "s/# - fedora-41/- fedora-41/" fedora-*.yaml sed -i "s/ref: fedora\/rawhide/ref: fedora\/41/" fedora-*.yaml
Building and testing instructions:
For some background, see:
Note also this repo obsoletes https://pagure.io/atomic-ws