Epsilon
Epsilon (or epsi) is a powerful, lightweight, and easy-to-use package manager for AxOS. It is designed to be simple to use, and to provide an easy way to install, update, manage, and remove packages on your system.
Epsilon fetches packages from the pacman repositories and the AUR, and can install packages from both sources. It also provides a simple way to manage your system’s packages, services, and keep your system up-to-date.
Installation
Section titled “Installation”Epsilon comes pre-installed on AxOS, so you don’t need to install it separately. You can start using it right away.
Epsilon is a command-line tool, and can be used from the terminal. Here are the commands that you can use with Epsilon:
# Just install a package or a list of packages
epsi install <package1> <package2> ...
epsi i <package1> <package2> ...
epsi -S <package1> <package2> ...
epsi sync <package1> <package2> ...
# Install from a specific repo
epsi install <package1> <package2> ... --aur # installs the package from the aur
epsi install <package1> <package2> ... --repo # installs the package from the axos or arch repos# Remove a package or a list of packages
epsi remove <package1> <package2> ...
epsi rm <package1> <package2> ...
epsi -R <package1> <package2> ...# Search for a package (to know the exact name or to check if it's available)
epsi search <package>
# Search in a particular repo
epsi search <package> --aur # Searches for the package in aur
epsi search <package> --repo # Searches for the package in axos or arch repos# Refresh repositories and update the package database
epsi sync
epsi -y
epsi sy# List all installed packages
epsi query
epsi -Q
# List only explicitly installed packages
epsi query --explicit
epsi -Qe
# Get information about a package
epsi query --info <package>
# Check which package owns a file
epsi query --owns <path/to/file> # Example: epsi query --owns /usr/bin/python
# List all installed packages installed from a specific repo
epsi query --aur # lists packages from the aur
epsi query --repo # lists packages from the arch/axos repos
# Tip: You can also use grep to search for a specific package
epsi query | grep <package># Upgrades locally installed packages to their latest versions
epsi upgrade
epsi -Syu
# Upgrade with backup
epsi upgrade -s -d
epsi upgrade --with-snapshot --delete-snapshot-onfail
epsi -Syu -s -x
epsi -Syu --with-snapshot --replace-snapshot# Generates shell completions for supported shells (bash, fish, elvish, pwsh)
epsi gencomp <shell>
epsi -G <shell># Removes all orphaned packages and clears the package cache
epsi clean
epsi -C# Queries for and returns available package updates
epsi checkupdates# Runs pacdiff (a tool to help merge .pacnew files)
epsi diff
epsi -d# Print help
epsi help
epsi -hManifest commands (see Package and Service handling):
# Apply a manifest
epsi manifest apply <path/to/file>
# Apply a manifest but reinstall up-to-date packages
epsi manifest apply <path/to/file> --install-all
epsi manifest apply <path/to/file> -I# Generate a manifest
epsi manifest generate <path/to/output>
# Show a JSON form of manifest before writing
epsi manifest generate <path/to/output> --view-json
epsi manifest generate <path/to/output> -j
# Only include user installed packages
epsi manifest generate <path/to/output> --user-installed
epsi manifest generate <path/to/output> -u
# Include AUR packages too
epsi manifest generate <path/to/output> --include-aur
epsi manifest generate <path/to/output> -a
# Set enabled servivces
epsi manifest generate <path/to/output> --enabled-services <service1> <service2> ...
epsi manifest generate <path/to/output> -S <service1> <service2> ...
# Set disabled services
epsi manifest generate <path/to/output> --disabled-services <service1> <service2> ...
epsi manifest generate <path/to/output> -s <service1> <service2> ...Flags can also be used:
-v, --verbose... # Sets the level of verbosity
--noconfirm # Complete operation without prompting user
-q, --quiet # Make some commands have less output (only clean, upgrade, and install are supported)
--sudoloop # Loops sudo in the background to ensure it doesn't time out during long builds
-c, --cachedir <CACHEDIR> # Sets a custom AUR clone and build directory for the specified operation
-h, --help # Print help information
-V, --version # Print version informationPackage and Service handling
Section titled “Package and Service handling”One speciality of epsilon is that it provides a simple way to handle package and services through manifest files. These files are written in a serialization language called YAML.
These are all the properties that you can set in the epsilon manifest file:
# Packages from the mirrors
packages:
install:
- vim
- alacritty
# same effect as packages_aur.remove
remove:
- nano
# Packages from the aur
packages_aur:
install:
- shim-signed
# same effect as packages.remove
remove:
- thunar
# Repsitories to add as mirrors
repos:
axos:
siglevel: Optional TrustAll
server: https://axos-project.com/AxMirrors/$arch
# Services to enable/disable
services:
enable:
- docker
disable:
- mongodManifests can be generated or applied and the commands to do so are listed above in the usage section.