I build my day-to-day Fedora system from a minimal installation and a custom set of package (which is rather small since I don’t use a full desktop environment). How would that work with Silverblue? Do I need to compose my own image? Can I ask my system to drop the gnome group from the standard silverblue image?
Due to the immutability of silverblue systems, the concept of ‘spins’ seems even more important than for the standard Fedora editions. Is there any plan/idea towards a standard way to handle them, or is it still too early? What are the resources required to compose ostree images? Could it (hypothetically) be handled by a fedora-backed system similar to what COPR does for packages?
I know this is a niche target, but would like to get an overview of what is currently in place and how far would such a thing be. This previous post did not provide a lot of details.
Hello, I’m also interested in using a more minimal image, for example using xmonad or sway.
For what it worth, I’ve been trying to create my own tree by modifying Overview - workstation-ostree-config - Pagure.io and running: rpm-ostree compose tree && ostree admin deploy fedora/30/x86_64/my-fedora without success so far (lightdm or Login service doesn’t seem to start).
I did rpm-ostree install sway a while back to try it out (actually still have it layered), that works fine.
Bigger picture supporting custom builds is definitely something I’d like to enable. It’s certainly possible to use rpm-ostree compose tree directly but most people doing that end up wanting to generate disk images too.
On that topic a lot of work on Fedora CoreOS (and its derivative RHEL CoreOS) has gone into https://github.com/coreos/coreos-assembler/ which I definitely consider the “new face” of building custom rpm-ostree based systems.
You may also have a look at what I did for KDE (& XFCE, etc.) and create a Sway variant with the same logic. If you create one, I can build it along with the others until a solution is worked out in Fedora.
Sweet, looks like we have similar setups Due to Silverblue’s design, I should be able to rebase an existing installation on your image definition (once built), right?
I’m not sure how rebase works, I’m still trying to figure out rpm-ostree… I started with a regular silverblue install and ran those command:
# Create a new ostree repo:
sudo ostree init --repo=/ostree/copperblue
# Compose the copperblue tree:
pushd system
git submodule update --init
sudo rpm-ostree compose tree -r /ostree/copperblue --workdir /ostree/copperblue/tmp copperblue.yaml
popd
# Copy the tree in system ostree repo:
sudo ostree pull-local /ostree/copperblue fedora/rawhide/x86_64/copperblue
# Install the tree:
sudo ostree admin deploy fedora/rawhide/x86_64/copperblue
Then grub pick the new tree, if something goes wrong, either hard-reset and grub show a menu you can use to pick the previous tree. Otherwise you can rollback manually using: rpm-ostree rollback.
Yup, rebase is possible after making a new compose.
Instead of using pull-local as suggested above, you could start a one-off HTTP server (like python3 -m http.server) and configure a new remote to rebase from.
# ostree remote add local --no-gpg-verify http://192.168.122.1
# rpm-ostree rebase local:fedora/rawhide/x86_64/copperblue
The only thing above base I installed was sway and rxvt-unicode-256. Let me look up their dependencies. How do i get to the minimal starting point? If I give you the list from a dry run of sway install on toolbox would that help?