Linux

Installing

curl -fsSL https://manifa.dev/install | sh

The installer detects your architecture and pulls a musl-linked release — x86_64-unknown-linux-musl or aarch64-unknown-linux-musl — so it runs on any distro without needing a matching glibc version. No Rust toolchain needed for the CLI itself.

The CLI

login, init, vault create, sync, watch, daemon start, env, device, recovery — all of the CLI reference works identically to macOS. Your device's local keypair is stored via secret-service (e.g. gnome-keyring on GNOME, kwallet on KDE); its private half never leaves the device. See vaults and devices for what that keypair is for. A secret-service implementation needs to be running — most desktop distros ship one by default; minimal/headless installs may need to install and start one (e.g. gnome-keyring-daemon).

mani mount — on-demand files over FUSE

Linux is the only platform with a working, shippable on-demand-files mount today: mani mount <vault> <path> makes the whole tree visible instantly — ls -R on a 10 GB vault pulls zero bytes — and a file's contents hydrate the moment you actually open it. See the mani mount reference for its flags.

The binary from curl | sh does not include this. The release build is compiled without the fuse feature, so a freshly installed mani will refuse to run mount with an error telling you to rebuild. To get it:

# libfuse3 (e.g. Debian/Ubuntu: apt install libfuse3-dev; Fedora: dnf install fuse3-devel)
cargo install --path crates/cli --features fuse

That requires the Rust toolchain and a clone of the source repository — this isn't (yet) a flag the installer can turn on for you. Once built, unmount with Ctrl-C in the terminal running mani mount, or fusermount3 -u <path> from elsewhere.

Uninstalling

rm $(which mani)

This only removes the binary — your account, vaults, and recovery code are unaffected. To also forget this device, run mani device revoke <this-device> from another enrolled device first.