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

Installation

Amane comes as one command, amane. The command carries a full copy of the library inside it. It builds your shell from your config folder, so you never set up a Cargo project yourself.

NixOS

The repository is a flake. Its package wraps amane with everything it needs at build time (cargo, rustc, pkg-config, and the system libraries), so there’s nothing else to install.

To try it without installing:

nix run github:MystiaFin/amane -- startup

To install it for your user:

nix profile install github:MystiaFin/amane

To install it system-wide, add it to your flake inputs:

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    amane.url = "github:MystiaFin/amane";
  };

  outputs = { nixpkgs, amane, ... }: {
    nixosConfigurations.your-host = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        ./configuration.nix
        {
          environment.systemPackages = [ amane.packages.x86_64-linux.default ];
        }
      ];
    };
  };
}

Replace your-host with your host’s name, then rebuild.

Other distributions

You need a Rust toolchain, pkg-config, and these libraries with their development headers:

LibraryDebian / UbuntuArch
Waylandlibwayland-devwayland
xkbcommonlibxkbcommon-devlibxkbcommon
fontconfiglibfontconfig1-devfontconfig
Vulkan loaderlibvulkan1vulkan-icd-loader
PulseAudio clientlibpulse-devlibpulse
PAMlibpam0g-devpam

Then build and install the command:

git clone https://github.com/MystiaFin/amane
cd amane
cargo install --path cli

cargo install puts amane in ~/.cargo/bin. Make sure that folder is on your PATH.

The amane command runs cargo every time it builds your shell, so keep the Rust toolchain installed.

Updating

The library is copied into the amane command when the command is built. To get a newer Amane, update the command itself:

  • NixOS: nix profile upgrade amane, or update the flake input and rebuild.
  • Other distributions: git pull in the clone, then run cargo install --path cli again.

The next amane run or amane dev rebuilds your shell with the new library.