Timecodes:

  • 00:00 Intro
  • 00:56 What is Vanilla OS?
  • 02:47 App Compatibility
  • 06:52 Updates and maintenance
  • 09:20 Reproducibility and automation
  • 11:14 How does it compare?
  • 14:19 Sponsor: Tuxedo Computers
  • 15:19 Support the channel

Vanilla OS is what we would call an immutable system, meaning the base system is mostly read only by default, and updated after a reboot.

You can still install packages onto that base system, from the Debian repos, as Vanilla OS is based on a snapshot of Debian Sid. You can use any system tool that lets you change configurations, and you can still edit some config files.

So, Vanilla OS was already using the principle of distro containers, letting you create an Arch, an OpenSUSE, and a Fedora container on the fly, and install packages in any of these through a single package manager, called APX. It also of course supported Flatpaks, as that’s how you’ll install your software on the base system.

But this time around, they added Android app support as well. The way it works, is, of course, through Waydroid, but they’ve integrated it pretty well. You can simply download an APK, and double click it, to bring a graphical installer that will add this app to your applications menu.

Apart from that, you still have access to all the distro containers that Vanilla OS already had: you can create one graphically, or using the APX package manager tool, and you can see the list of programs that have been installed in each container.

The new version of APX is also more flexible, it lets you add not only distributions, but also just other package managers. If you want to add support for pacman, you can just add that, and APX will create the right distro container for you.

Vanilla OS 2 also comes with a new “smart updates” system. This is a fancy name to say “we won’t download and install updates while you’re working”.

Smart updates just mean that the partition you’re not currently using isn’t getting updates while you’re working or using the PC, because that would divert resources from what you’re doing.

System updates are basically just snapshots of Debian Sid, that have been compiled into an OCI image that is tested by the Vanilla OS devs. Once it’s ready, they’ll ship it to all Vanilla OS systems, and your currently unused partition is replaced by this image, and all the customizations you’ve applied are of course applied to this new image as well.

And of course, flatpaks and packages from distro containers are updated normally, like any other distro.

The other major change for Vanilla OS is the addition of some NixOS like features, namely the ability to create descriptive files to reproduce your system.

There’s a new tool called Vanilla Image Builder, or Vib. This lets you create a Vanilla OS Image, with a bunch of customizations already added to it. You can add specific packages, drivers, codecs, but you can also add commands that need to be run, change some configurations, and more.

The project is actually wider than just Vanilla OS images, it also lets you create container images for specific applications, by specifying a distro base. Basically lets you create Docker images.

In terms of automation, Vanilla OS comes with VSO, for Vanilla System Operator. This lets you create tasks that have conditions, and instructions. If the conditions are met, the instructions are ran. These conditions include disconnecting from the network, when you’re on low battery, when a specific process starts, when a new device is connected or disconnected, when your CPU usage is high, or others, and you can also specificy a script or a command as the condition.

VSO is actually more than just a task automation system, it also lets you manage the Waydroid subsystem, export applications from a distro container to your system’s applications list, so you can run it in one click, it handles sideloading of APKs and DEB packages, and more.