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:
| Dependency | Purpose |
|---|---|
libxkbcommon | Keyboard handling |
dbus | D-Bus daemon |
libwayland-client | Wayland protocol |
libpipewire | PipeWire audio |
libpulse | PulseAudio compatibility |