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 examples
to select an example to get started from- Make modifications to your
Containerfile
just update
to 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.