New to Atomic distributions but long time Linux user. I have a few questions

Hello,

First of all I wanted to say hello to everyone here. I’m new to Atomic distributions but have been a Linux user for about 15 years now. A while back someone introduced me to Atomic distributions and have been running Silverblue for almost 3 months now and I am I quite enjoying the experience. I was running Arch before and tried NixOS is the past year as well. I actually came to the realization I don’t care so much about tweaking and customizing every detail of my installation anymore just my user stuff and running an Atomic distribution has made it so that I am less distracted by trying everything but that I am just using my system more as I work on it and I game on it.

Now currently with Silverblue I have all my graphical applications with Flatpak and a few Appimages since that was the only other choice for those and I layered the tools and commandline stuff, ie: qemu/kvm, kitty some fonts, zsh etc. So now I currently have 328 layers and updating takes quite a long time somtimes. So I went looking around and discovered the Universal Blue project and the different images: Bluefin, Bazzite, Aurora.

I ran both Bluefin an Bazzite in a vm to test some things out how the experience is compared to my Silverlbue setup.

With Bluefin-DX I came to discover that many of the tools I use are already in the base image and everything else I can’t find I can install with a pre-configured brew setup, except for kitty. Which sounds quite awesome to me, it would mean I would have a lot less layers.

However I don’t like the pre-configure bash setup, not a big deal since I would use zsh anyways. But I haven’t been able to find where that shell config is configured, I did look in /etc/profile.d but I didn’t find anything. I’m just curious to know where that is configured in case I were to want to disable the default bash configuration. I also don’t like the motd but I saw you can disable that. I actually didn’t like “ujust” but I actually decided I can learn to appreciate what it brings even though I probably won’t use it much. I also dislike the pre-configured Gnome setup, but not a big deal either I can just disable the extensions I don’t want to use, but I actually hate removing stuff to get my desired setup. Yes I am a Gnome user, I used to hate Gnome since I was using Gnome2 back in the day a year ago I gave it another try and have learned to appreciate the new Gnome as how it evolved from Gnome2 to Gnome3 to Gnome4x.

So I am thinking switching to Bluefin-DX, as in rebasing. So I do have some questions about this. In my vm setup I was able to rebase from Silverblue to Bluefin-DX without issues. So my questions.

  1. Can I rebase to Bluefin or are there some side notes that I should know about?
  2. If I do rebase, what happens to my current layered packages like kvm, qemu etc. Or would it be better to remove my current layered packages first before rebasing to Bluefin?
  3. What happens if I remove the Flatpaks that come with the Bluefin image as in I saw some I wouldn’t use. Are they added back each time you get a new image update or are they gone since I removed them?
  4. I am currently on Silverblue 41 beta because I mostly like running the latest. Once Fedora 41 officially releases will it be possible to rebase to a Fedora 41 image of Bluefin?

As mentioned earlier I did try Bazzite in a vm, so I also have a question about that. I noticed that Steam was in the base image as an rpm. I thought Atomic distributions were about using Flatpaks for graphical applications where you can. Also my thinking is something like Steam you actually want to run sand-boxed in a Flatpak because games can have vulnerabilities too. So my questions about Bazzite.

  1. Why was Steam added as an rpm to the base image and not as a Flatpak?
  2. Does the fsync kernel that comes with Bazzite support secure boot?
  3. Is it possible to run the fsync kernel on Bluefin-dx and also have it support secure boot?

I think those all of my experiences and questions concerning Bluefin and Bazzite. Thanks for your time!

  1. Yeah but we typically don’t support that as you’ll need to install the flatpaks manually on your own afterwards.
  2. You’ll need to rpm-ostree reset anyways before you rebase so those will need to be readded.
  3. Images and flatpaks are unrelated, we don’t touch them when you rebase so it’ll be up to you to manage them.
  4. Yes once we have F41 builds.

There’s no hard “this is supposed to be on an image and this is not” rule, Steam is on the bazzite image because it’s a gaming image and it’s a lot less hassle to just match how SteamOs comes with it on an image.

The fsync kernel does support secureboot but there’s no fsync in Aurora/Bluefin (we stick to stock kernels). Hopes this helps!

1 Like

I appreciate your reply @j0rge!

I installed the flatpaks I use myself as user, so they are located in my homedir under ~/.var. So the system Flatpaks that come with the Bluefin image are part of the system image is that what you mean?

Good to know, I hadn’t thought of that.

Even the Flatpaks marked as system?

Great!

Yeah that was my mistake. I might have worded it wrongly, the latter is the answer I was looking for what the reason was. Thanks! :slight_smile:

Good to know! I’ll just be sticking to BluefinDX then.

I’ve seen a bunch of your Youtube videos and read a few of your articles. Thanks for sharing the information you share about Atomic distributions!

And is it correct I can use this command to rebase to bluefin after I reset?

1 Like

On the flatpaks: The way we install them is via the ISO installation, we default to --system, so the equivalent to doing flatpak install flathub org.mozilla.Firefox, manually, and so on.

There are no flatpaks inside the images themselves, they are completely decoupled, but there are flatpaks on the ISOs that are used during installation in conjunction with the image to make the final “operating system”.

When the image rebases it doesn’t touch the mutable parts of the disk, so if you were to rebase between a bunch of things the flatpaks wouldn’t change.

Users can also install flatpaks with the --user flag, which will install them in your home directory. However we don’t really set this up out of the box. In the old days when we didn’t have an offline installer we managed flatpaks on first boot and you could choose system or user, but these days it’s easier for us to just leave all the flatpak management up to the user.

So I guess it depends on the usage of the word “system”, flatpak has user/system, and then when we say system we mean the operating system image, so I guess that’s where the confusion lies, haha.

1 Like

When you say iso are you referring to if I were to install from the actual installation iso when not rebasing to Bluefin? If so I’m assuming this won’t be a thing when I rebase?

Yeah this is the way I tend to do, anything I need for myself I install as user.

Yeah it can confusing. With system Flatpaks I meant that when you list your Flatpaks you have, you have the “Installation” section that says “System” or “User”, that is what I was referring to when talking about System Flatpaks and User Flatpaks. As my understanding when talking about an image with an Immutable distribution we are talking about built images make from a Docker or Container file and those images are immutable part of the system if my understanding so far is correct about that.

Yeah you won’t have to deal with this directly!

1 Like

I was successfully able to rebase from Silverblue to BluefinDX. I did find out I actually had to rebase to unverified image first and then the signed image.

So I ran these commands.>

rpm-ostree reset
rpm-ostree rebase ostree-unverified-registry:docker://ghcr.io/ublue-os/bluefin-dx:latest
reboot
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx:latest
reboot

I also still needed to enroll a key for secure-boot.

ujust enroll-secure-boot-key

I only had to later a few packages compared to what I had before. So will be curious to see how many actual layers I have when updating the next time there is an update.

Thanks for your help @j0rge!

1 Like

Just an update. I’ve been running BluefinDX for two days now and all I can say is I am very happy with it. I only have had to need to layer 5 packages. Most tools I need already with the BluefinDX image, including my favorite virtualization tools: Qemu, Kvm, libvirt and virt-manager. All my other command-line tools I can install through Homebrew and everything same as before with my Flatpaks. I have even started to appreciate the “ujust” tool.

Thanks for such a great experience ProjectBluefin! Thanks to all those who work on the project!

3 Likes