Skip to content

Instantly share code, notes, and snippets.

@travier
Last active May 1, 2023 09:52
Show Gist options
  • Save travier/f5ff41d875fe14631a595e710b37636e to your computer and use it in GitHub Desktop.
Save travier/f5ff41d875fe14631a595e710b37636e to your computer and use it in GitHub Desktop.

How to make a new rpm-ostree desktop variant in Fedora?

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:

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment