<h1id="oci-images-as-a-filesystem-vanilla-os">OCI Images as a
"Filesystem": Vanilla OS</h1>
<p>In looking for a layered solution to blendOS's issues, I
found that the lead maintainer and creator of blendOS was
looking into using OCI images, and has even forked a repo from
Vanilla OS. So I'm trying out Vanilla OS's usage of OCI images
(which are inherently layered) to see about implementing a
similar system in blendOS.</p>
<h2id="installation">Installation</h2>
<p>Installation is pretty simple, you're again dropped into a
simple GNOME session with a GTK installer:</p>
<imgsrc="/assets/vanilla-os/1.png"
title="A basic GNOME session with a white GTK-based installer; it's showing the date and time/time zone selector." alt="A basic GNOME session with a white GTK-based installer; it's showing the date and time/time zone selector." />
<p>The process was very similar to blendOS's, though it also
detects virtual machines and offers an option to install tools
(e.g. clipboard sharing, video drivers) to help with that.</p>
<p>Another notable bit is that it requires more space than
blendOS, with a minimum disk size of 50 GB, but given its A/B
slot architecture (which I'll get to later), this makes
sense.</p>
<h2id="first-boot">First boot</h2>
<p>On first boot, there's a very similar setup tool, surely
based off the installer. It makes you put in your language,
timezone, etc. again, which I was a bit annoyed by, but it's no
big deal. Then it has you create your login, select what you
want installed (from basic programs like a calendar, office
suite, etc.), then restarts and does all that.</p>
<imgsrc="/assets/vanilla-os/2.png"
title="A similar wizard to the installer; it has the Vanilla OS logo and says "Welcome", "Make your choices, this wizard will take care of everything"" alt="A similar wizard to the installer; it has the Vanilla OS logo and says "Welcome", "Make your choices, this wizard will take care of everything"" />
<p>Then you just get a little slideshow detailing automatic
updates, its Apx package manager, and other basics, nothing
interesting, and nothing I care about.</p>
<h2id="usage-and-configuration">Usage and configuration</h2>
<p>I tried checking the docs (<em>Vanilla OS Docs</em>), which
by themselves were difficult to find. They're a bit hidden in
"Help" despite being <em>absolutely essential</em> to using this
distro[^1]. But what I found easily was screenshots of
Overwatch. (<em>Vanilla OS</em>)</p>
<p>Regardless, once I found the docs, I tried to figure out how
it worked, and I was still very confused. After looking over it
again, I decided to check Apx's docs, its package manager, and
found how to install packages, of course. (<em>Vanilla OS
Docs</em>) I tried to install GParted; after it not running at
first due to Vanilla OS not being configured correctly and not
showing a password prompt for it, causing GParted to exit, I ran
it in the terminal with <code>sudo</code>, just to get a
permission denied error. That's because all packages are
installed in containers, there is no system package manager...
kinda.</p>
<h3id="abroot">ABRoot</h3>
<p>ABRoot is the magic behind Vanilla OS's OCI image backend. As
far as I can tell (again, I don't believe there are no relevant
for docs for this) it essentially generates a tarball of the
relevant data for the new iteration, then symlinks to either
that or the current iteration on boot, depending on what the
user selects. It provides essentially no advantages over
blendOS's approach, and is, in my opinion, massively