Greetings Frameworkers!
I’d like to share some information with you today on an open source project some of us have been working on called Universal Blue. There’s a few years of information to condense here, so I apologize for my brevity. Fedora has a feature in development which basically shoves the OS into an OCI container. You may have heard of Fedora Silverblue or Kinoite, it’s the same thing, it’s just consumed differently.
This feature allows people to take Fedora Silverblue (and friends), and then customize them to your needs using common cloud tooling. So we did what linux nerds do, grabbed stock Fedora and started hot rodding. We publish GNOME, KDE, Sway, MATE, LxQt, budgie, cinnamon, and other desktops, here’s the full list with a bunch of quality of life features like codecs out of the box, etc.
Also I just got my Framework 13 so I had to wait for the hardware and software combination to arrive to see how well it works:
The difference between this and “making a distro” is that due to the nature of containerization there’s a nice clean separation between what the OS is, and where the config lives. The model more closely resembles an Ansible playbook or helm chart. So as you can imagine, when my Framework 13 got here, I immediately wanted to get it set up with the right power configs and stuff.
Unfortunately, this involved digging in the forum and trying to find the right tlp configuration file. As a linux nerd I abhor manual labor, so I decided to grab everything from @Matt_Hartley 's knowledge base article and then just ship it. I have a personal image named Bluefin, and we grabbed the tlp conf file and put it in the right place.
So on installation my Framework was fully ready to go with the recommendation from the article. Then I derived a framework image from my existing one, here’s the snippet:
Now comes the cool part … all of these configs are shareable and can be community driven. That means we can put what we want on top of Fedora in a programmatic way that can be delivered to the end user reliably. So … why not ship multiple profiles that have been perfected by the community? We could add shortcuts to benchmarking tools, that kind of thing. And everything is just linux, so even if you don’t use this directly it’ll make it easier for others to test new configs and codify the improvements. Rollbacks are built in, and you can always rebase to a stock fedora image, which is handy!
I’m posting this because I’m trying to gauge interest to see if there’s community interest in this. I have generated a -framework image for bluefin, however, the rest of the images remain with stock gnome-power-manager, etc. If there is interest it would be straightforward for someone to copy the pattern and enable the rest of the images, and we’d love to get people involved so that we can offer people what they want. If you work in cloud and know CI/CD I would especially love to get your ideas!
And for developers out there, we’ve made a bluefin-dx-framework image as well. This cranks up the volume to 11, with vscode right on the image, devbox, devpod, nix, and all sorts of cloud native tooling out of the box. This is my work computer so it needs to be good, so we’ve been spending time polishing that up and are looking for more feedback. If you’re a kubernetes nerd then you are my target audience!
And since it’s all just dockerfiles all of these images can be used to derive your own (like I’ve done), so if we’re hoping that people take these base images and create something awesome.
Thanks for your time, if you have questions holla at me!