Vanilla OS offers an innovative, modernized "post-Debian" experience

Vanilla OS offers an innovative, modernized "post-Debian" experience

Ubuntu has been traditionally considered the most popular and user-friendly distro, and its core principles inspired a stream of derivate distributions in the past years. Although many users are happy with the general architecture, Ubuntu owner Canonical has sometimes been criticized for some technical choices, such as pushing most parts of the runtime into snap runtimes, moving even essential apps to the container format, or shipping "patched" version of software and desktops, or more including (harmless) ads in their desktop or even inside the terminal.

With some known flaws, but excellent community and adoption, some projects are trying to provide a compromise to make Ubuntu suitable also for the most die-hard Linux fans, while falling back in the pure Debian paradigm. And, truth be told, most of these projects work, but tend to be quite boring from a technical perspective - for instance, shipping different repositories of "purified" software, or removing every proprietary bit as in Purism's (Debian based) PureOS.

The reason why Vanilla OS in particular deserves a mentioned is that it looks like a considerably better developed idea than most, and represents in some ways a modernized experience compared to Debian and Ubuntu.

Vanilla OS was born some weeks ago as a side project by developer Mirko Brombin, who is mostly known in the community for being the lead developer of Bottles, the app which made installing Windows applications through WINE easier, by providing custom-tailored "runners", complex dependency and library management, and - of course - a damn sexy UI.

The general approach of Vanilla OS seems to integrate some innovative Linux concepts in the otherwise very conservative Debian base while still opting for mainstream, mature technologies. In other words, Vanilla OS aims for a sweet spot between the usability of Ubuntu and the different concepts of Ubuntu derivatives such as elementaryOS, Pop OS and others. In fact, Vanilla OS tries to provide "vanilla" (as in upstream) experience of developer software such as GNOME, thus also becoming a mature "test bench" for software, and giving the end users the choice to adapt to their needs. We could say that Vanilla OS is not too unlike projects like Pop OS, but achieves that while remaining technically, er, more vanilla.

Diving into the project, we can find several core concepts:

Freedom of (packaging) choice – plus a new package manager

Vanilla OS includes a custom graphical (Gtk4) installer, which provides a "build-a-bear" setup to tailor many settings to the users' needs, without ever touching the terminal. For instance, the Snap runtime is now no more mandatory, but an option offered in a convenient switch to the end user. Similarly, users may choose to set up Flatpak, or AppImage packaging, at their choice during the installation process.

Vanilla OS package manager setup (source)

In general, most of the set-up process feels like Ubuntu, but gives users some more choices without scaring newcomers away in the process.

Last but not least, Vanilla OS comes with a new package manager, apx, that provides lightweight containerization and format-agnostic installation of software from different sources. In particular, apx is based on the work of DistroBox.

On-demand immutability

The core idea of traditional immutability is to isolate all critical areas of the filesystem from user modifications,

Usually, immutability comes together with the possibility to snapshot, and "commit" new changes to the system partition while allowing for easy rollbacks if something goes wrong, not too unlike the "restore points" in Windows-based systems.

Immutability can be enabled at setup time

However, Vanilla OS goes for a simpler, "on-demand" immutability, which on the one hand does not require filesystem modifications, but on the other provides no support for snapshots or restore points. The docs justify this choice, versus using OSTree or similar projects, as one that is simpler to use and compatible with all setups.

In general, the idea should be that a read-only system partition also allows for temporary modifications to the system partition, which can be restored to their original state when needed. This allows for "virtual" modifications to critical parts of the system upon need, but does not affect the final filesystem state. However, traditional, permanent modifications of the system are also possible, if needed, by toggling the immutability of certain areas of the filesystem.

Vanilla OS is an on-demand immutable distribution, the system is read only to prevent unwanted changes and corruption from third party applications or a faulty update. Some paths are still writable, such as the home directory, this allows the user to keep their files and ensure the normal functioning of applications.

You can find more about on-demand immutability, achieved via almost, in the Vanilla OS docs.

Purity – "upstream first"

A common debate that appears is between distro maintainers, who tend to customize desktops and app themes for branding reasons, and more "puritan" software projects like GNOME, which emphasize how such customizations affect the styling quality and overall stability of the system, and discourage distributions from delivering variants of their apps that have been modified or reskinned through patchwork.

The truth may be in the middle, but Vanilla OS tries to deliver software as the initial developers intended it, also for the sake of better stability. In doing so, it represents one of the very rare downstream distros that try to deliver fewer bugs than its parent, and at least ideally an exception to the idea that software becomes always less stable in derivative distros, which I wrote something about in the past.

Similarly, the Vanilla OS website presents the project as one also aimed at gamers, and being upstream-first in this case should reduce the risks of glitchy games or broken graphics.

GUI-centric user experience

Because most actions and post-install configurations can be achieved through a set of GUI apps. An example is the driver manager, which can be seen in the video below

Mobile friendliness?

In doing all these things, Vanilla OS tries to be "sort of" lightweight, and would likely present, in its default configuration, a similar footprint to projects like Mobian. At the same time, immutability gets closer to the system partition isolation that Android and iOS devices offer, and may reduce the risk of an unreliable or corrupted Linux system, provided that an easy restore mechanism exists for the end users.

In other words, the core concepts of Vanilla OS could be as useful for mobile Linux devices as they are for desktops, aiming for stability while being as inoffensive and upstream-first as possible. But Vanilla OS is still at an early development stage, no plans for ARM (mobile) devices have been done yet, and only time will tell how far it can go.

You can find more information about Vanilla OS on its official website, or in their Discord channel.

Vanilla OS
Vanilla OS is an On-Demand immutable Linux based distribution which aims to provide a vanilla GNOME experience.

Via Mirko's Twitter