Alright everyone! It took way too long to get here but Bluefin is feature complete. All the major surgery is done, the plan now is to chill from now until end of April and wait for Fedora to release. Then we’ll have a party as we flip the switch. Please continue to file bugs and give us feedback as you tame your new raptor!
ujust brew
What is now Bluefin 39 will become the new gts
, and this will be the default. This is the Linux I’m going to give to my friends! Those of us on :latest
will move on to F40 and continue forward. And then the circle of life will continue.
The last major change - brew is back
Some backstory:
For a long time we rolled with brew
available on the host. This led to problems that took a while to surface, mostly conflicting with the host’s path. So if you brew install ffmpeg
it would pull in a library and flatpaks would break (lol). Two nights ago @bketelsen found a way to put brew on the host but in a way that won’t conflict with the host paths. We’ve put this through a bunch of testing and it’s working awesome. It’s working awesome indeed!
What does this mean?
So where does brew fit? Well, we’ve eliminated most of the need to care about cli packaging. The blog covers most of the details but the system packaging is already out of the way. That leaves flatpaks for GUIs and then we need CLI apps. And people still want them on their host and don’t want to use a container. brew
has just about everything and a large part of our target audience is already using it. Feels like a nobrainer.
Then you won’t need to layer to add neovim, btop, and all that other stuff. It’s already tied into ublue-update so that’ll be automatic.
And that’s it. Flatpaks and homebrew. And then everything else distrobox has you covered and with ptyxis and boxbuddy together in there that’ll be a way better experience than most people get ootb with this stuff.
But it is not The Final Shape
I call the completion of the next generation linux The Final Shape. This refers to what the end form looks like. Brew is still a stopgap, we gotta put gcc
on the image for crying out loud, sacrifices have been made.
The team has been investigating using systemd-sysext as a means of extending Bluefin so that we can have one base image, and then bolt on things like -dx, etc. This would reduce the image count and size, and would let us do all sorts of awesome things without needing to touch the base OS. Add an atomic layer that you can bolt on (no reboots needed) and go to town.
Hence some of us now believe that bluefin-cli
and the rest of -dx will move to being sysexts, and bketelsen is the one leading that charge if you’re interested. This will let us source the CLI experience from wolfi and that gets us all the latest things we want at the system layer.
This will take time and baking as the feature is fast moving upstream. So that will all be future work, in the meantime we’re good enough. Many things that we have now didn’t exist when we started. All we had was distrobox. Now we have ptyxis, boxbuddy, quadlets, systemd-sysext, wolfi and, brew along with a whole bunch of other stuff.
Last Tidbits
There’s some loose ends to tie up, we need zsh support for the brew stuff, and whatever else you find and file. Thanks Hikari!
And Docs! A reminder that all the docs are wikis so you should be able to pop in and fix em up, or feel free to write up a thing and tag it with documentation
. Gonna need some help on this one!
Anyone have any questions or comments?