📈 GH Trending Explorer 🎲 Surprise me

← all repos

MystiaFin / amane

git clone https://github.com/MystiaFin/amane.git v.0.1.2-experimental · 7d ago

A framework for building Wayland desktop shell purely in Rust

—
stars, 24h
—
stars, 7 days
+348
stars, 30 days · #763
348
★ total
13
forks · 14 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageRust
LicenseMIT
Created2026-10-04 (16d ago)
Last push1d ago
Watchers8
OwnerUser

GitHub topics

Links

README excerpt
> [!NOTE]
> **amane is on hiatus until mid-december 2026.** 
> i'm pausing the project to focus on my college thesis, so issues and PRs are closed for now. 
> everything still works. you can install it, read the docs, and fork it. thanks for following along, i'll be back once my thesis is done.
 amane 
Amane is a Rust library for building Wayland desktop shells, like bars, panels and launchers. You write your shell in plain Rust, and the `amane` CLI builds and runs it for you.
Keep in mind, Amane is still early (0.1) and experimental, so things will break and change.
## Documentation
The full guide is at mystiafin.github.io/amane. It walks you from your first shell through layout, widgets, input and animation, plus the built-in services for audio, network, bluetooth, notifications and workspaces.
## Installation
Before installing, check that you have what a shell needs to run:
- a Wayland compositor that supports wlr-layer-shell, for example niri, Hyprland or Sway. GNOME doesn't support it, so Amane won't work there.
### Manual installation
#### 1. Install Rust
You need a Rust toolchain with cargo. Cargo has to stay on your `PATH` after the install, because `amane dev` and `amane compile` call cargo to build your config.
#### 2. Run the install script
Clone the repo and run `install.sh`. It installs the system libraries Amane needs with pacman, apt or dnf, then installs the CLI with `cargo install --path cli`:
 [code] 
If your distro uses another package manager, the script stops and lists what to install yourself: a C compiler, pkg-config, wayland, libxkbcommon, fontconfig, freetype, expat, vulkan-loader, libpulseaudio and linux-pam, with their headers. After that, run `cargo install --path cli`.
This puts `amane` in `~/.cargo/bin`, so make sure that folder is on your `PATH` too.
### NixOS (flake)
Add amane to your flake inputs, then add its package to your system packages:
 [code] 
 [code] 
or install it into your profile:
 [code] 
## Commands
Your shell lives in `~/.config/amane/src/main.rs` by default. If you set `XDG_CONFIG_HOME`, Amane uses `$XDG_CONFIG_HOME/amane` instead. To keep it somewhere else, like a dotfiles repository, see `amane new` and `amane target` below.
### amane new
Creates a small starter shell. It asks where to put it: press Enter for `~/.config/amane`, or pick another folder. Give the folder on the command line to skip the question. If the shell files already exist there, it stops with an error, so it never overwrites your shell.
 [code] 
For a full example bar instead, split over several files with workspace buttons for each monitor, add `--example`. It also stops if any of its files already exist.
 [code] 
`amane startup` still works for now, but it's deprecated. Use `amane new`.
### amane target
Tells Amane where your shell is when it's not in `~/.config/amane`, for example after you moved the folder or cloned your dotfiles on a new machine. The folder needs a `src/main.rs`. Amane remembers it on this machine, and `am