Build and deploy simple immutable customizations, locally!
The traditional method of layering with rpm-ostree can be unreliable. One way to avoid this is to build and publish
your own image with the ublue image-template.
If you only have a few packages you want to layer (for example, a single .rpm for a VPN provider), this can be a bit of a pain to set up. Instead, this repo will build a new image and switch to it locally with minimal commands.
A similar and more automated/official concept is currently being discussed in fedora/bootc#4.
- Clone this repo
just examplesto select an example to get started from- Make modifications to your
Containerfile just updateto build and switch to your image!
Tip
Consider pinning your active deployment before switching to your own image with sudo ostree admin pin #
Note
The scripts in this repo rely on the just runner, which not all base images have. You
may need to bootstrap just with ./boostrap-just.sh first.
Warning
Make sure your FROM command is based off of your current desktop environment! Switching between desktop environments
can cause undefined behavior.
All example Containerfiles are provided in the examples directory.
This example demonstrates how to layer local .rpm files. You can use this for installing RPMs provided by VPNs or other software that cannot otherwise be installed in a distrobox.
This example provides a way for layering rpmfusion packages on Fedora's base Kinoite image. You can use this image if you are not using the ublue base images. It also shows how to replace normally read-only SDDM files.
This example layers steam on ublue-os/kinoite-nvidia, along with some other packages. It shows how to enable and
install software from custom copr repositories.