Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vanilla-os/apx
Apx is the Vanilla OS package manager. It’s meant to be simple to use, but also powerful with support to installing packages from multiple sources without altering the root filesystem.
https://github.com/vanilla-os/apx
apx command-line distrobox hacktoberfest linux package-manager vanillaos
Last synced: 1 day ago
JSON representation
Apx is the Vanilla OS package manager. It’s meant to be simple to use, but also powerful with support to installing packages from multiple sources without altering the root filesystem.
- Host: GitHub
- URL: https://github.com/vanilla-os/apx
- Owner: Vanilla-OS
- License: gpl-3.0
- Created: 2022-09-10T21:41:17.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-23T07:29:06.000Z (7 months ago)
- Last Synced: 2024-05-01T09:46:42.001Z (7 months ago)
- Topics: apx, command-line, distrobox, hacktoberfest, linux, package-manager, vanillaos
- Language: Go
- Homepage: https://docs.vanillaos.org/docs/en/apx
- Size: 3.94 MB
- Stars: 474
- Watchers: 12
- Forks: 35
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: COPYING.md
Awesome Lists containing this project
README
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.svg
Apx (/à·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
```bash
Apx is a package manager with support for multiple sources, allowing you to install packages in subsystems.Usage:
apx [command]Available Commands:
[subsystem] Work with the specified subsystem, accessing the package manager and environment.
completion Generate the autocompletion script for the specified shell
help Help about any command
pkgmanagers Work with the package managers that are available in apx.
stacks Work with the stacks that are available in apx.
subsystems Work with the subsystems that are available in apx.Flags:
-h, --help help for apx
-v, --version version for apxUse "apx [command] --help" for more information about a command.
```## Documentation and Guides
### Documentation
The official **documentation and manpage** for `apx` are available at .
## 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](https://hosted.weblate.org/projects/vanilla-os/apx).
### 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/ && mkdir man//man1` command, and execute this command `LANG= ./apx man > man//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 `go` installed from your distribution's native repositories to compile `apx`.
- You must have `git` installed to clone the repository.
- You must have either `podman` (suggested) or `docker` installed.
- You must have `make` installed for the installation.### Procedure
Clone apx's repository using `git` and enter it using `cd`:-
``` bash
git clone --recursive https://github.com/Vanilla-OS/apx.git
cd apx
```Build apx using `make`:-
``` bash
make build
```Install apx using `make`:-
``` bash
sudo make install
```Install the apx manpages using `make`:-
``` bash
sudo make install-manpages
```Uninstall apx using `make`:-
```bash
make uninstall
```Uninstall apx man pages using `make`:-
```bash
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:-
``` bash
make install PREFIX=$HOME/.local
make install-manpages PREFIX=$HOME/.local
```Or into a separate root:-
``` bash
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]