Apx
[![Translation Status][weblate-image]][weblate-url] [weblate-url]: https://hosted.weblate.org/engage/vanilla-os/ [weblate-image]: https://hosted.weblate.org/widgets/vanilla-os/-/apx/svg-badge.svg [repology-url]: https://repology.org/project/apx-package-manager/versions [repology-image]: https://repology.org/badge/vertical-allrepos/apx-package-manager.svgApx (/à·peks/) is the default package manager in Vanilla OS. It is a wrapper around multiple package managers to install packages and run commands inside a managed container.
Special thanks to distrobox for making this possible.Help
Usage: apx [flags] [command]
Commands:
man Generate the manual page
pkgmanagers Manage package-manager definitions
stacks Manage subsystem stack definitions
subsystems Create and manage subsystems
[!NOTE]
Runapx SUBSYSTEM COMMANDto use the package manager and environment of a
subsystem. Useapx COMMAND --helporapx SUBSYSTEM COMMAND --helpfor the
available options.
Documentation and Guides
Documentation
The official documentation and manpage for apx are available at https://docs.vanillaos.org/docs/en/apx.
Dependencies
To add new dependencies, use go get as usual, then run go mod tidy and go mod vendor before committing the code.
Translations
Contribute translations for the manpage and help page in Weblate.
Generating man pages for translations
Once the translation is complete in Weblate and the changes committed, clone the repository using git and perform go build, create a directory using the mkdir man/<language_code> && mkdir man/<language_code>/man1 command, and execute this command LANG=<language_code> ./apx man > man/<language_code>/man1/apx.1. Open a PR for the generated manpage here.
Instructions for using Apx in other distributions
Apx has been designed as a distro-agnostic tool, allowing it to work with any distribution.
Prerequisites
- You must have
goinstalled from your distribution’s native repositories to compileapx.
- You must have
gitinstalled to clone the repository.
- You must have either
podman(suggested) ordockerinstalled.
- You must have
makeinstalled for the installation.
Procedure
Clone apx’s repository using git and enter it using cd:-
git clone --recursive https://github.com/Vanilla-OS/apx.git
cd apx
Build apx using make:-
make build
Install apx using make:-
sudo make install
Install the apx manpages using make:-
sudo make install-manpages
Uninstall apx using make:-
make uninstall
Uninstall apx man pages using make:-
make uninstall-manpages
Installing apx in a custom destination
The prefix or installation destination can be changed using PREFIX and DESTDIR.
To install apx into ~/.local for example:-
make install PREFIX=$HOME/.local
make install-manpages PREFIX=$HOME/.local
Or into a separate root:-
make install DESTDIR=$HOME/altroot
make install-manpages DESTDIR=$HOME/altroot
Community Packages
Apx is packaged in various sources by our community, if you aren’t comfortable with building apx manually you can install a package listed below.
(Note: These packages are unofficial if there are any issues with packaging report them to the respective maintainers, if there are any issues with apx functionalities report them here.)
[![Packaging status][repology-image]][repology-url]