github Vanilla-OS/apx v2.0.0
v2.0.0 (RC1)

latest releases: v2.4.3, v2.4.2, v2.4.1...
14 months ago

What's Changed

Apx v2 changes the way subsystems are created and offers more flexibility to the users.

New entities

To start using Apx v2, it is essential to understand two new entities: stacks and package managers.

Stacks serve as templates for generating a subsystem. Those define the following fields:

  • Name
  • Base: This refers to the original distribution to use for the subsystem.
  • Package manager: It is the package manager to be used within the subsystem to expose commands such as install, remove, etc.
  • Packages: An optional list of packages to be pre-installed when creating the subsystem.

Package managers are not just names in Apx v2; they are actual entities. Each package manager exposes the relationships between the standard Apx commands (install, remove, update, etc.) and the original command of the package manager itself.

Both entities are stored as Yaml files and stacks can be imported/exported using the commands:

apx stacks import -n [name]
apx stacks export -n [name]

System-wide and User-wide

Apx reads from both the installation path (default is /usr/share/apx but can be modified in the Apx configuration) and the user's home directory (~/.local/share/apx). Stacks and package managers can be defined as Built-in, meaning they are integrated into the system and cannot be modified by the user.

When packaging Apx, providers can include predefined resources such as stacks and package managers, which should be saved in the system path declared in the configuration. These resources should be marked as Built-in to prevent users from removing system resources.

How to start

The process to get started is:

  • create a package manager apx pkgmanagers new [options]
  • create a stack: apx stacks new [options]
  • create a stack: apx subsystems new [options]

if no options are given, Apx will prompt some questions to collect details about the new entities to create.

New commands structure

Unlike Apx v1, now subsystem commands are accessible through the subsystem name:

# apx [subSystem-name] [command]
apx mySubSystem install <package>

Distrobox 1.5.0.2

Apx v2 requires the latest version of Distrobox which is 1.5.0.2 at the time of writing. Support for older versions is not guaranteed.

This offers more flexibility to the user, who can have multiple subsystems with the same stack or different ones.

Announcement: https://vanillaos.org/2023/07/05/vanilla-os-orchid-devlog.html
Discover Apx GUI: https://github.com/Vanilla-OS/apx-gui
Full Changelog: 1.8.2...2.0.0

Don't miss a new apx release

NewReleases is sending notifications on new releases.