So you want to make a new rpm-ostree desktop variant in Fedora to join Silverblue, Kinoite and Sericea? Here are the steps that you should follow.
First, you should figure out what packages should be installed in your image. To do that, you can start from the base container image (https://quay.io/repository/fedora-ostree-desktops/base) and add packages from the comps group corresponding to your desktop in Fedora : https://pagure.io/fedora-comps
At this point, you should consider which apps are going to be shipped by default, included in the image, and which ones are going to be installed by default as Flatpaks.
Once you've got something working, reproduce that in https://pagure.io/workstation-ostree-config using the comps group and the filter and sync script. Look at other variants for example.
Always start from Rawhide, or use the latest stable Fedora release to test but submit the PR to Rawhide. I'll likely review it then.
Once the PR is merged, we'll enable test builds in the unofficial CI: https://gitlab.com/fedora/ostree/ci-test
This will get you container images in quay.io (https://quay.io/organization/fedora-ostree-desktops). With those, you can start building uBlue images and ISOs (https://ublue.it/) and test things more (including the installation).
When things are in good shape, you can move to the next step!
Then, let's make it official! Now you need to submit a change request to Fedora to request this new variant to be added to the official Fedora composes.
Here are the steps to follow: https://docs.fedoraproject.org/en-US/program_management/changes_guide/
And the last two change request as example: https://fedoraproject.org/wiki/Changes/Fedora_Kinoite https://fedoraproject.org/wiki/Changes/Fedora_Sway_Spin
You will have to pick a name for your variant and request legal review for it. You can not reuse existing names or call your variant Silverblue FooBar.
Once your change as been accepted, you can start adding the confirmation to enable the builds in Rawhide. It's mostly copy pasting and tweaking the existing configuration for other variants. See:
- Look for "ostree" in the fedora-pungi config repo:
- https://pagure.io/pungi-fedora/blob/main/f/fedora.conf
- This is also where you configure which Flatpaks are included in the installer ISO and thus installed by default.
- Add your variants to the following files:
You'll want to make sure that the apps that you want to install by default as Flatpaks are available as Fedora Flatpaks. Reach out to the Flatpak SIG if you need help.
Then you'll have to make a docs repo. You can start from the Silverblue one (https://github.com/fedora-silverblue/silverblue-docs) and then make a PR to https://gitlab.com/fedora/docs/docs-website/docs-fp-o/-/blob/stg/site.yml?ref_type=heads (start with stg then prod once released) to have it built and hosted on the docs site.
Finally, you can add a page for your variant to the new Fedora website: https://gitlab.com/fedora/websites-apps/fedora-websites/fedora-websites-3.0
Happy rebasing!