blendOS is self-described as "Arch Linux, made declarative, immutable and atomic." And yeah, that's a pretty good description of what it is. But you can never really tell what a distro is like without trying it, so...
I decided to just run blendOS in a virtual machine; I had a
bunch of data I hadn't backed up yet and was actively working
on, and didn't feeling like switching yet given I had no
experience with blendOS v4[^1] - I've actually tried blendOS v3
before, back when v4 was in alpha, but it had practically zero
documentation, not even man
pages, so I gave up on
it very quickly. But with v4, hopefully it's improved since
then.
Upon first boot, blendOS drops you into a pretty standard
GNOME session, on account of the /system.yaml
file
by default:
impl: http://github.com/blend-os/tracks/raw/main
repo: https://pkg-repo.blendos.co
track: default-gnome
At first I wasn't sure what impl is doing, but it seems to be
combined with the track to get the URL for the raw
yaml
file[^1].
This is actually a really interesting bit which isn't documented, as it means you can just, say, host your own track(s) for all your computers in a Git repo, and they can each inherit from other configs[^2] or be overridden locally; this actually seems like a very interesting and viable way to centrally manage many computers running Linux, and given I'm constantly switching between several computers; I can just put my config(s) in one repo, and pull from that.
It's quite basic, but blendOS actually works very well for
me; I already have a Git repo of all my
configs, which are intended to be run from a clean
installation automatically, so for blendOS I just have to put
those scripts into the yaml file and adapt it so the packages
are listed in the YAML rather than being installed with
pacman
or yay
.
Biggest of all blendOS's problems is how slow it is to
rebuild. It doesn't save "layers" of packages like rpm-ostree
(as used by Fedora atomic)
http://github.com/blend-os/tracks/raw/main
+
/
+ default-gnome
+
.yaml
blend-os/tracks
repo,
default-gnome
actually inherits from the
gnome
track.