Package Manager (apx
)
apx
is the Vanilla OS package manager that is easy to use with support for installing packages from multiple sources inside containers without altering the root filesystem.
How it works
apx
introduces a whole new paradigm in package management. The idea is to use
your system only as a box for storing your files, leaving it clean of packages
and limiting the risk of breaking due to incompatible, poorly constructed or
conflicting packages.
It gets done by installing software inside one or more containers fully managed by apx
having restricted access to your system’s resources while still being able to use the same drivers, display server, etc.
Your home directory is mapped inside the container so you can access your configuration files, preferences and other vital data needed by the installed packages, as well as being able to access your files from the installed software, e.g. by opening a file in LibreOffice.
Host system
While installing software on the host is against the project’s ideology, there are cases where it is essential. For example, when you need to install a kernel module or driver.
In cases like this, you can use the abroot exec apt install <package_name>
or abroot shell apt install <package_name>
command to bypass the container and install directly on the host, but be aware that this
is not recommended.
Multiple sources
By default, apx
provides a container based on your Linux distribution (Ubuntu
22.10 for Vanilla OS 22.10) and wraps all commands from the distribution’s
package manager (apt
for Ubuntu).
Nevertheless, you can install packages from package other distributions. For example, using the --aur
flag, a new
container based on Arch Linux will be created. Here, apx
will manage the packages
from the AUR (Pacman and yay), tightly integrating them with the host system. Using the --dnf
flag with apx
will create a new container based on Fedora Linux. Here, apx
will manage packages from Fedora’s DNF repository, tightly integrating them with the host system.
For GUI packages created inside apx
containers,.desktop
files are created automatically and added to the Applications menu. These applications are displayed beside other applications in the “Open with” menu in nautilus. GUI Packages installed inside containers gets shown in the Sub System section in the Vanilla control center.
For quality control, we are limiting this feature to specific implementations. Currently, only --aur
and --dnf
flags are supported, but
we are planning to implement support for the Nix package manager as well in future.
Naming
The name apx
comes from apt (Advanced Packaging Tool), the package manager used by Debian and its derivatives. X consists of two lines (host and container) overlapping each other, where the container is on top, meaning
it is on top of the host system.