Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Packaging (deb, rpm, Arch, Nix)

ashell is distributed through multiple packaging formats.

.deb Packages (Debian/Ubuntu)

Generated by generate-installers.yml using nfpm.

Package metadata comes from Cargo.toml:

[package.metadata.nfpm.deb]
depends = ["libwayland-client0", "libpipewire-0.3-0t64", "libpulse0"]

.rpm Packages (Fedora/RHEL)

Also generated by generate-installers.yml with nfpm.

[package.metadata.nfpm.rpm]
depends = ["libwayland-client", "pipewire-libs", "pulseaudio-libs"]

Arch Linux (AUR)

The update-arch-package.yml workflow updates the AUR package after each release. Users install via:

yay -S ashell
# or
paru -S ashell

Nix

The flake.nix provides a Nix package:

# Run directly
nix run github:MalpenZibo/ashell

# Install
nix profile install github:MalpenZibo/ashell

Shell Installer

cargo-dist generates a shell installer script for manual installation:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/MalpenZibo/ashell/releases/latest/download/ashell-installer.sh | sh

Common Dependencies Across Formats

All packages share these runtime dependencies:

DependencyPurpose
libxkbcommonKeyboard handling
dbusD-Bus daemon
libwayland-clientWayland protocol
libpipewirePipeWire audio
libpulsePulseAudio compatibility