Test repo for the Atomic Desktops
Find a file
2024-04-12 16:26:01 +00:00
ci zuul: Verify that the comps and manifests are synced 2024-04-04 10:17:34 +02:00
.gitignore gitignore: Add more paths to ignore 2024-02-11 12:50:08 +01:00
.gitlab-ci.yml Import GitLab CI config 2024-02-28 20:05:21 +01:00
.zuul.yaml zuul: Fix YAML indentation 2024-03-01 19:32:37 +01:00
bootupd.yaml bootupd: Drop unnecessary / 2024-02-09 18:41:05 +01:00
budgie-desktop-pkgs.yaml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
cinnamon-desktop-pkgs.yaml comps-sync f40 2023-09-26 2023-09-26 16:43:56 +02:00
comps-sync-exclude-list.yml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
comps-sync.py comps-sync.py: Return non-zero if changes are needed but not saved 2024-03-28 18:09:49 +01:00
deepin-desktop-pkgs.yaml
fedora-41-updates.repo Rawhide is now f41 2024-02-13 19:01:33 +00:00
fedora-41.repo Rawhide is now f41 2024-02-13 19:01:33 +00:00
fedora-base.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-cinnamon.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-common-ostree-pkgs.yaml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
fedora-common-ostree.yaml fedora-common-ostree: Add slirp4netns 2024-04-12 16:26:01 +00:00
fedora-deepin.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-kinoite.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-lazurite.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-mate.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-onyx.yaml Budgie: Exclude gnome-software-fedora-langpacks 2024-02-28 11:20:31 +00:00
fedora-rawhide.repo
fedora-sericea.yaml Sericea: update fedora-release subpackage name 2024-02-26 19:38:57 +01:00
fedora-silverblue.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
fedora-vauxite.yaml manifests: Update names to follow new Atomic branding 2024-02-21 03:04:54 +01:00
gnome-desktop-pkgs.yaml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
group
justfile justfile: Add a recipe to check for comps sync changes 2024-03-28 18:10:27 +01:00
kde-desktop-pkgs.yaml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
LICENSE
lxqt-desktop-pkgs.yaml Use new base-graphical comps group for Wayland only desktops 2023-12-11 18:14:23 +01:00
mate-desktop-pkgs.yaml comps-sync f41 2024-03-23 2024-03-23 16:56:27 +01:00
passwd
postprocess.sh postprocess: Workaround for Python timestamp mismatch 2024-04-12 17:39:08 +02:00
README.md README: General update 2024-02-27 19:03:25 +01:00
sway-desktop-pkgs.yaml comps-sync f41 2024-02-26 2024-02-26 23:51:22 +01:00
xfce-desktop-pkgs.yaml xfce: Add packages from xfce-extra-plugins comps group 2023-11-23 17:13:11 +01:00

Manifests for Fedora Atomic Desktops variants

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:

  • Fedora Silverblue
  • Fedora Kinoite
  • Fedora Sway Atomic
  • Fedora Budgie Atomic

Reach out to the SIG if you are interested in creating and maintaining a new Atomic variant.

Repository content

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.

Website

The sources for the Silverblue, Kinoite, Sway Atomic and Budgie Atomic websites are in gitlab.com/fedora/fedora-websites-3.0.

Issue trackers

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:

Documentation

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:

Building

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

Testing

Instructions to test the resulting build for classic ostree commits:

simple-http-server --index --ip 192.168.122.1 --port 8000
  • Then, on an already installed Silverblue system:
# 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:

  • Push the OCI archive to a container registry
  • Rebase to it:
$ rpm-ostree rebase ostree-unverified-image:registry:<oci image>

See URL format for ostree native containers for details.

Branching instructions for new Fedora releases

Follow those steps during the Fedora branch process in Fedora:

Fedora Ansible

Make a PR similar to ansible#1318 in fedora-infra/ansible.

On Rawhide / main branch

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

On the new branch (f41)

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

Historical references

Building and testing instructions:

For some background, see:

Note also this repo obsoletes https://pagure.io/atomic-ws