This is an rpm-ostree based minimal Fedora developer desktop with the sway window manager and podman/toolbox for doing development and running less common graphical applications.
It gets automatically built every week and published to my server.
To use it from an existing OSTree based system like Fedora CoreOS or Fedora Silverblue, add my server URL as new remote and rebase your tree to it:
sudo ostree remote add --no-gpg-verify piware https://piware.de/ostree/pitti-workstation/
sudo rpm-ostree rebase piware:pitti-desktop
After that, you can install weekly updates with
sudo rpm-ostree upgrade
If anything goes wrong, you can go back to the previous version with sudo rpm-ostree rollback
.
Original README for workstation-ostree-config
This is the configuration needed to create rpm-ostree based variants of Fedora. 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, this happens via pungi with Lorax (templates).
- Website: https://silverblue.fedoraproject.org/ (sources)
- Documentation: https://docs.fedoraproject.org/en-US/fedora-silverblue/ (sources)
- Issue tracker: https://github.com/fedora-silverblue/issue-tracker/issues
- Website: https://kinoite.fedoraproject.org/ (sources)
- Documentation: https://docs.fedoraproject.org/en-US/fedora-kinoite/ (sources)
- Issue tracker: https://pagure.io/fedora-kde/SIG/issues
Instructions to perform a local build of Silverblue:
# Clone the config
git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config
# Prepare repo & cache
mkdir -p repo cache && ostree --repo=repo init --mode=archive
# Build (compose) the variant of your choice
sudo rpm-ostree compose tree --repo=repo --cachedir=cache fedora-silverblue.yaml
# Update summary file
ostree summary --repo=repo --update
Instructions to test the resulting build:
- First, serve the ostree repo using an HTTP server.
- Then, on an already installed Silverblue system:
# Add an ostree remote
sudo ostree remote add testremote http://<IP_ADDRESS>/repo
# 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/35/x86_64/silverblue
Building and testing instructions:
- https://dustymabe.com/2017/10/05/setting-up-an-atomic-host-build-server/
- https://dustymabe.com/2017/08/08/how-do-we-create-ostree-repos-and-artifacts-in-fedora/
- https://www.projectatomic.io/blog/2017/12/compose-custom-ostree/
- https://www.projectatomic.io/docs/compose-your-own-tree/
For some background, see:
- https://fedoraproject.org/wiki/Workstation/AtomicWorkstation
- https://fedoraproject.org/wiki/Changes/WorkstationOstree
- https://fedoraproject.org/wiki/Changes/Silverblue
- https://fedoraproject.org/wiki/Changes/Fedora_Kinoite
Note also this repo obsoletes https://pagure.io/atomic-ws