🛠️ Installation
You can install Ashell using the following methods:
Packages
Officially maintained: Arch Linux package and the Nix configuration included in the repository.
Community packaging: Fedora via Copr and Gentoo Linux via GURU (see below). If a package is broken, try building from source first.
Arch Linux
Install a tagged release from the AUR repositories:
yay -S ashell
Or install from the AUR, which compiles the latest source:
yay -S ashell-git
Nix
Ashell is available in nixpkgs:
- nixpkgs unstable: version 0.8.0
- nixpkgs 25.11 (stable): version 0.6.0
nix profile (flake)
To install directly from the repository using flakes:
nix profile install github:MalpenZibo/ashell
nixpkgs (cached, no build required)
# Unstable
nix profile install nixpkgs#ashell
# Or with nix-shell for a temporary session
nix shell nixpkgs#ashell
NixOS / Home Manager
Using the flake directly:
inputs = {
# ... other inputs
ashell.url = "github:MalpenZibo/ashell";
# ... other inputs
};
outputs = {...} @ inputs: {<outputs>}; # Make sure to pass inputs to your specialArgs!
And in your configuration.nix:
{ pkgs, inputs, ... }:
{
environment.systemPackages = [inputs.ashell.packages.${pkgs.system}.default];
# or home.packages = ...
}
Or using nixpkgs (cached, recommended):
{ pkgs, ... }:
{
environment.systemPackages = [pkgs.ashell];
# or home.packages = ...
}
Fedora (Copr)
Unofficial Copr repository (maintained by @killcrb):
sudo dnf -y copr enable killcrb/ashell
sudo dnf -y install ashell
Gentoo Linux (GURU)
First, add the GURU repository
Next, unmask ashell package in any file in /etc/portage/package.accept_keywords/
gui-apps/ashell ~amd64
And finally install:
emerge gui-apps/ashell
Building from Source
To build Ashell from source, ensure the following dependencies are installed.
Build dependencies
- Rust with
cargo: minimum supported version 1.89 pkg-configclang/llvm: required bybindgento generate thelibpulse,libpipewire, andlibudevbindings- development headers for
libxkbcommon,wayland,libudev,libpipewire, andlibpulse git(optional): the build script embeds the current commit hash intoashell --version, falling back tounknownwhengitis unavailable
Runtime dependencies
libxkbcommonwaylandlibudevlibpipewirelibpulse- a running D-Bus session bus
- a working graphics stack for
wgpu: a Vulkan loader, or Mesa/libGL when falling back to the OpenGL backend
Package names differ between distributions, and the development packages usually pull in their matching runtime libraries. See Troubleshooting if the bar builds but fails to render.
Building
From the root of the repository, run:
cargo build --release
# To install it system-wide
sudo cp target/release/ashell /usr/local/bin/ashell