I took a stab at a new FAQ section to clarify why we believe this is the best way to Linux, feel free to ask questions!! This is the Bluefin specific version but generally applies to all of them:
Honest opinion: Iām still confused about who this is for and I still donāt understand exactly what ācloud nativeā means. I mean, I have a blurry outline, kind of. Itās all a lot of jargon, and Iāve been using Linux on the desktop since around 2010. But Iām also just a āregularā end-user, not a developer, or a programmer, or anything like that. I do the same things on my computer that most people nowadays do on their computers and phones. I check my email, game, browse, listen to music, shop, sometimes get a little creative, make plans with friends, etc, etc, etc. But just using Linux and being pretty passionate about open-source (and feeling pretty ugh towards the alternatives) has taught me a lot over the years, enough to be a competent user. So thatās where I fall in. I seriously doubt Iād ever use something like Gentoo, but Iām pretty comfortable with the likes of Ubuntu. Too normal for the hardcore geeky crowd, too geeky for the truly, actually average crowd.
And if Iām finding a lot of these terms to be confusing and jargon-y, I imagine a person new to Linux would be completely lost here. So is this a platform (I understand you hate the word distro) for average Janes and Joes, or is this a developersā platform? The messaging feels very mixed. And if it indeed targeting the actually average user, plain English (or any other language too) is going to need to be front and centre.
Loving what Iāve been experiencing so far, donāt get me wrong
I think thatās why we have multiple brandings with Universal Blue itself being deemphasized for the client/end-user side.
Universal Blue is the infrastructure. They make stuff, do stuff, all the complicated stuff, and at the end of it is a whole infrastructure that streamlines stuff to make it more accessible to tinkerer who then make convenient and reliable stuff for a less advanced user.
So you have uBlue, which then creates an infra for rpm-ostree image. Later on, these images became Bluefin, Aurora, Bazzite, and uCore. āCustom imagesā thatās essentially pre-built for specific type of users.
Then later on, the rpm-ostree image builder itself matures, and it becomes Blue Build which is even more streamlined than when I first used the image builder setup. This also happened to Bazzite-Arch, yafti, and so many things that either isnāt as popular as Bazzite or didnāt pan out like Fleek.
In other words - uBlue itself is made to make all those jargon-y stuff less relevant. You donāt need to know what ācloud-nativeā is, just that you can get custom image from the process. You donāt want to read up what ācloud-nativeā is when youāre new, you just want a goddamn Linux that does what you want and doesnāt randomly break when you say āYes, do as I say!ā
Very interesting and informative read, thank you @j0rge , especially the linked post on Homebrew.
I noticed that in the ublue docs, it indicates that brew would be used in preference to distrobox, and that distrobox is āIntended for legacy applications that do not support Flatpak and Homebrewā.
This is different from the linked blog post which says āI do recommend setting up distrobox as your main user interfaceā.
Wonder if you can comment on this, as I am new to both brew and distrobox, and Iād like to set up my Aurora-DX in the best way. I am a web developer (Typescript/Node) and currently I have node/npm installed via brew.
(I confess I also donāt understand what ācloud nativeā means!)
The more I learn by using Bluefin, the more I realise āI was doing it wrongāā¦
My path was:
- Home server for TrueNAS
- Home server apps via jails (BSD back then, more recently k8s on TrueNAS SCALE)
- More home server apps via Docker/Portainer
- Started preferring flatpaks on my desktop which I though of as ādocker images for desktop appsā
Then I learn about Silverblue and now I have
- Atomic OS with only 5 extra packages layered (and those are for AD authentication to my Samba-driven home domain)
- Citrix installed in a distrobox for accessing my workplace VDI
- My developement projects at home are now in devcontainers for VS Code
Iām getting the hang of it slowly but steadilyā¦
Is it all ideal? No really. My major gripe is with issues in the base image. For example in this thread I discover a bug in a base package which is now fixed in fedora-testing, but there seems to be no way to āoverrideā an RPM of the base system with a newer version. Actually, this is probably technically possible, I just donāt know how to do it.
The number of layers of abstraction though right now, makes it hard for the average user to understand all this. I admire the effort with FAQs like these, that give people some pointers, but I doubt an average user will ever be able to grasp what is happening.
The truth of the matter though is: they should not have to care. The point is that it should ājust workā and for the most part simple users just want a stable OS and nice installers. So I would say atomic OS + flatpaks is all they really needā¦ The base system works/updates and they can install whatever office/browser/etc app they need as a flatpakā¦
Yeah you only need to care if youāre a developer or want to learn how to contribute to open source. Most people shouldnāt have to care.
Agreed. Itās both. We want to expose as little of this crap to people but other people keep asking haha. Perhaps Have more of this stuff in the bluefin-dx section for the experts and not so much everywhere else?
Bazzite tends to recommend more tools because that audience usually needs a wide variety of software.
Bluefin trends more towards ābury apps that are stuck in the pastā, I tend to steer away from exporting apps via distrobox unless as a workaround with the intent of not using apps like that regularly. And I outright donāt recommend appimages or any of the packaging wars/hot mess that people deal with, I donāt want any of that stuff on my computers. I just use brew and flathub.
When things run smoothly dealing with legacy packages in boxes is just a step backwards, just because I can do it safely doesnāt mean I still wanna do it lol.
(I confess I also donāt understand what ācloud nativeā means!)
Iāll work on this and try to make it more understandable. (Will come back to the thread later today, thanks!)
I just want to take this opportunity to again say thank you to @j0rge and everyone else who works so hard on this.
I try my best to contribute to projects I care about, but my abilities are more or less limited to donations and filing bug reports. I also try to be mindful of the fact that more often than not the developers Iām interacting with are working for free because itās a project theyāre passionate about, and burn out is very real because unfortunately, a lot of end-users can be very demanding. So we all need to show some love and respect to the communities we want to keep healthy!
Thanks for pointing out the inconsistency, Iāve revised it to make that more clear! Yeah that setup will work just fine!
Which packages are you layering, we want to have all the AD-needed packages out of the box so Bluefin machines are AD-friendly, Iād be happy to add them to the base image!
This is something that should be done at the distro/ublue level imo, ideally weād have daily builds of everything landing in fedora-testing so users can just rebase, confirm the issues are fixed, and then communicate back to the the distribution testing teams. I have no doubt once Fedora finishes itās transition that things like this will be much easier.
Agreed, Iāll add a nerd disclaimer at the intro and figure out a way to clear that up!
I envy your work ethic.
I have discussed this at the Silverblue forums and as per the discussion there I even raised a package request.
These were last April when I first started learning about Bluefin and I thought it best to report upstream so that Bluefin simply āinheritsā the ability.
Here are my layered packages:
LayeredPackages: adcli oddjob-mkhomedir sssd-ad sssd-krb5
Hah!
Itās easy for us to add and remove packages, sometimes itās just easier to add them to the image and then remove them later when they land in fedora.
Do you have a link to the docs or how people set these up? I donāt have access to an AD environment.
I have intune layered. Could this also be layered to the base image?
Yeah these endpoint management things are just a slippery slope. Weād expect orgs that use tools like this would provide their own images for employees to use.