Arch Linux, made immutable, declarative and atomic: blendOS v4 released (blendos.co)
from rs2009@infosec.pub to linux@lemmy.ml on 08 Jun 11:57
https://infosec.pub/post/13393420

#linux

threaded - newest

Telorand@reddthat.com on 08 Jun 12:06 next collapse

Sweet, been waiting for this one. I wonder how it will compare to NixOS or Kinoite.

boredsquirrel@slrpnk.net on 08 Jun 12:46 collapse

*Fedora Atomic

Its a huge bundle of tons of variants, likely 40 or so, if you take everything that uBlue, wayblue and secureblue produce

pukeko@lemm.ee on 08 Jun 15:15 collapse

And that’s without counting the roll-your-own variants. uBlue has been a remarkable project.

boredsquirrel@slrpnk.net on 08 Jun 15:27 collapse

  • Fedora Atomic has been a remarkable project ;D

Fedora builds the container images, even though they themselves use OSTree remotes. There is a Change Proposal to change to them.

This means they continuously build the container images without even using them!

Only because of that the standard container workflow actions (they use an Ubuntu container!) even work. But for sure their tooling is very useful

magikmw@lemm.ee on 08 Jun 12:29 next collapse

Interesting. Do they point to arch repos or provide their own like Manjaro? I haven’t thought about a rolling release atomic distro before.

rs2009@infosec.pub on 08 Jun 12:36 next collapse

Just the Arch repos with an additional repository (similar to EndeavourOS), so AUR packages do work as intended and are in fact officially supported.

(disclaimer: blendOS dev here)

gravitas_deficiency@sh.itjust.works on 08 Jun 15:30 next collapse

Neat!

Also, the full disclosure of association/potential bias is absolutely appreciated. 🍻

MalReynolds@slrpnk.net on 09 Jun 03:55 collapse

I used to Arch, now I’m on ublue-kinoite with an Arch distrobox. Is there a reason to consider switching? (actual genuine question, not trolling)

LunarLoony@lemmy.sdf.org on 08 Jun 13:51 collapse

Just wanted to add that OpenSUSE MicroOS uses Tumbleweed repos by default, so I’m fairly sure that’s an atomic rolling release too. Not 100% sure, though.

whatsgoingdom@rollenspiel.forum on 08 Jun 13:26 next collapse

A very dumb question probably, but I’m new to using Linux so I lack a lot of understanding: I’m on Bazzite atm. Would there be a simple way to switch to blend OS without wiping everything? Like a rebase? Probably not but I figured it’s worth a shot to ask xD

velox_vulnus@lemmy.ml on 08 Jun 13:30 next collapse

Yes, but only if you have separate partitions for root, home, boot and swap. Otherwise, it is going to be painful.

whatsgoingdom@rollenspiel.forum on 08 Jun 13:51 next collapse

Yeah I don’t as in the bazzite installer it’s a real pain to set it up manually (also not allowing you to spread the partitions over multiple drives during the initial setup)

LeFantome@programming.dev on 08 Jun 14:36 next collapse

Why boot and swap? Even /root is probably unnecessary.

gusgalarnyk@lemmy.world on 08 Jun 18:37 collapse

Is there a guide or any educational material on this? I’m about to swap to Linux (some fedora distro focused on gaming) and I’m interested in potentially one day swapping to arch after I’ve gotten my toes wet. Doing a bit of extra work and planning ahead to make that easier sounds nice.

velox_vulnus@lemmy.ml on 08 Jun 19:16 collapse

There’s probably some generic tutorial out there, but since I’ve started to separate partitions after moving to NixOS and Guix, and self-learnt this, I’m not sure what would be a better resource for you.

lupec@lemm.ee on 08 Jun 13:40 next collapse

No such thing, we all start somewhere! :)

Anyway, you could in fact do that if you were thinking of trying out other Fedora Atomic images such as Silverblue and whatnot (see also the ublue page listing tons of others, including your bazzite!). This uses different tooling, so unfortunately not in this case.

[deleted] on 08 Jun 13:46 next collapse

.

rs2009@infosec.pub on 08 Jun 13:46 next collapse

Ooh, not just yet (in essence, it’d be hard to migrate over from the system used in Fedora Atomic to that used by blendOS) :( We’re working on a migration script for users from regular ole’ Arch Linux, though.

(disclaimer: blendOS dev here)

whatsgoingdom@rollenspiel.forum on 08 Jun 13:49 collapse

Ah well, not the first time I changed distro xD I’ll make some space on my drive and test it

dingdongitsabear@lemmy.ml on 08 Jun 14:15 next collapse

bazzite is fedora based? If so, your filesystem is btrfs and your /home is a subvolume, same as your / (root). you can install a new operating system in a btrfs subvolume (e.g. /blendosroot), then have systemd-boot or grub mount it as root and mount your existing home from it.

sadly, there’s no noob-friendly way to achieve this, but if you’re adventurous, you have enough search terms to make it happen.

whatsgoingdom@rollenspiel.forum on 08 Jun 15:20 collapse

I will jump into that rabbit hole, thanks!

electricprism@lemmy.ml on 08 Jun 17:10 next collapse

Isn’t that kind of the point of keeping / and /home on separate partitions or subvolumes/pools?

biribiri11@lemmy.ml on 08 Jun 19:59 next collapse

This use case would be covered by bootc, but BlendOS doesn’t have support by the looks of it atm

mynamesnotrick@lemmy.zip on 09 Jun 15:47 collapse

I’m new too but I separated by root and home partitions this last install to try and allow that.

governorkeagan@lemdro.id on 08 Jun 13:28 next collapse

This looks very tempting!

beerclue@lemmy.world on 08 Jun 13:33 next collapse

Is there a “light” version, without a WM? I run Hyprland on my current Arch setup.

exu@feditown.com on 08 Jun 13:41 next collapse

Set ‘blendos-base’ in your system.yaml, install additional packages, update and reboot.

rs2009@infosec.pub on 08 Jun 13:44 collapse

Indeed, you can just write your own custom /system.yaml file with the hyprland package (or no WM/DE for that matter). This guide describes how you can do that: blendos.co/install/post-install/intro/ (use the ‘custom’ track and add ‘hyprland’ to the package list)

(disclaimer: blendOS dev here)

beerclue@lemmy.world on 08 Jun 15:21 collapse

Awesome!

clmbmb@lemmy.dbzer0.com on 08 Jun 16:31 collapse

No, he said hyprland. Awesome is different. /dadjoke

exu@feditown.com on 08 Jun 13:35 next collapse

I already learnt of blendOS two weeks ago, I think in a discussion of immutable distros.

Really looking forward to play around with it some more and maybe replace my Arch install with this.

camr_on@lemmy.world on 08 Jun 14:21 next collapse

I’m not super clear on what being declarative and atomic means in an OS context. Does it mean there’s a file describing what packages are installed, kind of like nix?

governorkeagan@lemdro.id on 08 Jun 14:53 next collapse

I am no expert, please correct me if I’m wrong

From what I understand, it’s like Nix but Arch based. The /system.yaml file contains all of the packages installed on the system.

brbposting@sh.itjust.works on 08 Jun 17:11 collapse

Also it’s the worst when you download an operating system and you realize that it’s mutable

You’re like “oh no I did not want the mutable one I wanted the immutable one”

I know what all words mean

mhague@lemmy.world on 08 Jun 18:05 collapse

It’s new to me, I think it’s saying that your system is built up by you declaring what you want in a file, a single source that everything comes from.

It’s atomic because each action the system takes is carefully completed rather than bailing out and requiring you to fix something.

It’s immutable meaning you declare how you want things to be set up and then critical changes stem from those declarations and nothing else. You would obviously generate preferences, save data, etc. but the files that make the system / packages work are carefully locked.

It’s like the concept of flatpaks + structured system defining + modern common sense OS operations?

aleph@lemm.ee on 08 Jun 16:06 next collapse

Very intriguing. Is there a wiki or support forum in the works, too?

rs2009@infosec.pub on 08 Jun 16:15 collapse

Oh, the main utilities exclusive to blendOS have been documented here: blendos.co/reference/ And all the installation/post-install guides: blendos.co/install/

For support, we primarily use Discord, although there are plans to set up Discourse eventually: discord.gg/fvMpV8ZNxD

(disclosure: blendOS dev here)

aleph@lemm.ee on 08 Jun 17:27 next collapse

Cool. Will definitely be giving blendOS a spin in a VM.

aleph@lemm.ee on 08 Jun 18:10 collapse

Follow-up question: I’m in the US and the initial installation is taking forever. Pacman seems to be running at just 60-80 KiB/s when I normally get 5MiB/s. IS there a way to have the installer choose a local mirror before downloading all the packages?

rs2009@infosec.pub on 08 Jun 18:37 collapse

Oh, blendOS uses cloudflaremirrors.com during installation, which points at the Arch mirror it thinks it closest to you, and installation should be quite fast in North America (the blendOS package repo’s hosted in Germany, but it shouldn’t be too slow and doesn’t host too many packages required for installation). However, I do plan to make that configurable (as an option for users that know what they’re doing, or perhaps through a CLI installer for advanced users), and might implement it in the coming few days.

(disclaimer: blendOS dev here)

aleph@lemm.ee on 08 Jun 18:43 collapse

Ok, thanks for the heads-up. I’m running it in a local VM and for some reason my host Arch system is significantly faster at downloading and installing packages than the blendOS guest. Not sure why, but just thought I’d mention it.

Edit: never mind, I messed up the first installation so had to do-over, and the slow download speed seems to have recovered this time.

Deckweiss@lemmy.world on 08 Jun 17:48 next collapse

Does anybody know if configurations are also declarative?

Basically I want some easy way to spin up something arch linux based with my KDE Plasma settings, pacman hooks, grub configurations etc.

rs2009@infosec.pub on 08 Jun 18:33 collapse

Oh yep, they are declarative, and that’s what we’ve tried to implement with /system.yaml. pacman hooks and grub configs can be defined through /system.yaml (through a combination of the packages and commands arrays), but Plasma config is per-user and so wouldn’t be possible to declare unfortunately :( you can declare GNOME config though, fwiw

(disclaimer: blendOS dev here)

Deckweiss@lemmy.world on 08 Jun 19:05 collapse

nix has home manager for that, but even then, plasma configs are a huge mess there.

thanks for the reply and your hard work :)

rs2009@infosec.pub on 08 Jun 20:27 next collapse

oh yep, should’ve clarified, /system.yaml’s, as the name might suggest (lol), for system-wide config only, and GNOME just so happens to support system-wide config (dconf and gsettings overrides); we used to have a utility for declaring config for individual users akin to home-manager in blendOS v3, but dropped it with v4 since that wasn’t used much; still might make a return though :)

thank you for your support! :)

smiletolerantly@awful.systems on 09 Jun 05:05 collapse

Why not just use home-manager on arch?

0x2d@lemmy.ml on 08 Jun 17:56 next collapse

How does it compare to NixOS rolling?

starman@programming.dev on 08 Jun 19:44 collapse

I don’t think that this one is as reproducible and declarative as NixOS or Guix.

masterbaexunn@lemmy.world on 09 Jun 04:41 next collapse

I just wanted to say this is all very confusing. I barely installed Ubuntu on my laptop as a daily driver mostly due to the MS Recall debacle. It’s fine, it’s great. However, reading all the Linux Lemmy posts makes me feel like I’ll never understand. I know all these words and what they mean, just not in an OS context.

geoma@lemmy.ml on 09 Jun 05:02 next collapse

don’t worry. this probably isn’t for you… yet… anyway, why did you install ubuntu??? who misguided you? you should have gone linux mint DE, mx linux, Fedora or something like that. Ubuntu was great… 15 years ago. Sorry if I sound too hard… take it with a laugh 😁

[deleted] on 09 Jun 05:37 next collapse

.

ABasilPlant@lemmy.world on 09 Jun 05:44 next collapse

No. Fuck this shit. Don’t do this.

It’s already bad when everyone in this community shoves their distro down potential linux-converts’ throats, thereby confusing them even more. Don’t tell (or imply to) freshly converted users that they potentially made a wrong choice.

TF do you think they’re going to do now? Move to fedora? The commenter above already stated that it was a hassle to install Ubuntu and now you’re telling them to change distros already???

Ubuntu is still great… compared to Windows. Sure. It may not hold to your ideals. Compared to other distros, canonical may make some questionable choices. BUT THEY DON’T IMPLEMENT A FUCKING RECALL. So it’s fine (for now).

Ubuntu is fine for newcomers. It has a shit ton of support online and you can easily search questions whose answers are likely to be found within the first few results.

So stop shoving distros down people’s throats, especially fresh users.

I know you said:

Sorry if I sound too hard… take it with a laugh 😁

It doesn’t come across that way. You come off as a gatekeeper.

geoma@lemmy.ml on 09 Jun 12:48 collapse

Ok. Yeah, commenters are right. First of all, congratulations for switching. Enjoy ubuntu as a great first step. If you have issues, consider it might be ubuntu and not linux as a whole. In the future, consider other options like the ones I gave. Sorry for the not-contributing comment.

yak@feddit.it on 09 Jun 09:02 collapse

jesus christ

InFerNo@lemmy.ml on 09 Jun 06:22 next collapse

You probably think of yourself as pretty knowledgeable regarding Windows, but have you ever studied for a Microsoft certification exam? This in depth knowledge is not something the average user needs for his daily usage, but can be interesting to read/know.

Petter1@lemm.ee on 09 Jun 06:41 next collapse

😇do you know how to add repos to atp? That’s pretty important, or you may end up installing .dep manually, which I not recommend for people that want a OS that just works

TheGrandNagus@lemmy.world on 09 Jun 06:49 next collapse

Think about it this way: going onto Linux communities and listening to what people say can be like listening to car mechanics chat.

But do you need to know what all of that stuff means to drive your car? Nah. But that info could come in handy, if you wanted to modify your car or something like that.

You don’t need to know what Wayland/X11, PipeWire, GTK4/Qt6, or anything like that is, in much the same way you don’t need to know what PowerShell, Event Viewer, NT kernel, or registry are to use Windows.

ColdWater@lemmy.ca on 09 Jun 07:01 next collapse

It’s fine you don’t have to understand any of these just use the computer normally and you’re good

shrugal@lemm.ee on 09 Jun 08:41 next collapse

Welcome to the Linux community. :)

You will probably never understand everything about Linux and all of its included and associated systems. That’s completely fine, no one does! That’s why we are many, and it’s what asking for advice or help is for. You can just learn whatever interests you at your own pace, and know that there will always be interesting things you haven’t seen yet.

ikidd@lemmy.world on 09 Jun 20:09 next collapse

Don’t sweat it. There were people doing advanced things in Windows that would probably have blown your mind as well. It’s just that most people that use Linux just enjoy tinkering for the sake of tinkering so it’s more visible, and Linux lends itself to people doing weird and wonderful things never envisioned by it’s creators.

You just started on the road, where you stop is entirely up to you. Just know that the view is way more interesting going this route. Take a few pictures on the way.

cerement@slrpnk.net on 09 Jun 21:18 collapse

  • repeat the “Don’t sweat it.”
  • Ubuntu is a perfectly fine starting point (the other “beginner distro” that’s commonly recommended is LinuxMint)
  • »AFTER« you become comfortable with what you have:
    • try familiarizing yourself with the command line
      • far more competent than Windows cmd.exe or PowerShell
      • !linuxupskillchallenge@programming.dev
    • get overwhelmed with all the distro choices available
      • get bitten by the distro-hopping bug (“Gotta try them all!”)
        • and then try Distrobox (“ALL the distros at once!”)
  • »THEN« take a look at immutable distros
    • “immutable distro” is a catch-all term that embraces several concepts
      • immutable – the root filesystem is set to read-only – makes it harder to mess up your system
      • declarative – your hardware and packages and configs are declared in a master configuration file
      • atomic / transactional – updates are checked as they’re applied, if it fails, it gets rolled back to a previous “safe state”
      • container / sandbox – ex. Flatpak or Docker or OCI – apps are isolated in their own sandbox and not allowed to mess up anything else
dch82@lemmy.zip on 09 Jun 13:14 next collapse

This is just NixOS with extra steps

CatTrickery@lemmy.blahaj.zone on 09 Jun 14:08 next collapse

I’d love this for Artix because I just prefer the experience of runit

jaxxed@lemmy.world on 09 Jun 17:38 next collapse

Is it ostree based? I guess I should RTM

gandalf_der_12te@discuss.tchncs.de on 09 Jun 23:09 collapse

Honestly, having a declarative package manager is pretty important.

Consider the following: We’ve had the transition from Sys V Init to Systemd recently. But what does it actually mean?

It means, that instead of running a command to start a service, you now flip a switch in a clear, standardized way. The advantage is that you can get a table-like overview over all the services that are currently running. You get an overview, in other words. That is worth a lot because it brings structure and clarity into your system.

Now, with package management it’s the same way. Instead of running a command to install a package, we should instead give a list of all the packages that we want to have installed, and the package manager should take care of making sure that they are installed. That would improve clarity, because you get a list of all the packages that are installed. It might also increase efficiency if you’re installing many packages, because large parts of the work can be done in parallel. And importantly, you get reproducibility. Imagine you just have a file where it names all the packages that should be installed. You can just take that list and copy it to another machine. Now you’ve cloned your package installations. I guess things like Docker, with their docker files, are kinda already going in that direction. But it would be nice to have support for it in the mainline operating systems.