[![Build Status](https://github.com/ulyssa/iamb/actions/workflows/ci.yml/badge.svg)](https://github.com/ulyssa/iamb/actions?query=workflow%3ACI+) [![License: Apache 2.0](https://img.shields.io/crates/l/iamb.svg?logo=apache)][crates-io-iamb] [![#iamb:0x.badd.cafe](https://img.shields.io/badge/matrix-%23iamb:0x.badd.cafe-blue)](https://matrix.to/#/#iamb:0x.badd.cafe) [![Latest Version](https://img.shields.io/crates/v/iamb.svg?logo=rust)][crates-io-iamb] [![iamb](https://snapcraft.io/iamb/badge.svg)](https://snapcraft.io/iamb) ![Example Usage](https://iamb.chat/static/images/iamb-demo.gif)
## About `iamb` is a Matrix client for the terminal that uses Vim keybindings. It includes support for: - Threads, spaces, E2EE, and read receipts - Image previews in terminals that support it (sixels, Kitty, and iTerm2), or using pixelated blocks for those that don't - Notifications via terminal bell or desktop environment - Creating, joining, and leaving rooms - Sending and accepting room invitations - Editing, redacting, and reacting to messages - Custom keybindings - Multiple profiles _You may want to [see this page as it was when the latest version was published][crates-io-iamb]._ ## Documentation You can find documentation for installing, configuring, and using iamb on its website, [iamb.chat]. ## Installation Install Rust (1.70.0 or above) and Cargo, and then run: ``` cargo install --locked iamb ``` See [Configuration](#configuration) for getting a profile set up. ### NetBSD On NetBSD a package is available from the official repositories. To install it simply run: ``` pkgin install iamb ``` ### Arch Linux On Arch Linux a [package](https://aur.archlinux.org/packages/iamb-git) is available in the Arch User Repositories (AUR). To install it simply run with your favorite AUR helper: ``` paru iamb-git ``` ### openSUSE Tumbleweed On openSUSE Tumbleweed a [package](https://build.opensuse.org/package/show/home%3Asmolsheep/iamb) is available from openSUSE Build Service (OBS). To install just use OBS Package Installer: ``` opi iamb ``` ### Nix / NixOS (flake) ``` nix profile install "github:ulyssa/iamb" ``` ### Snap A snap for Linux distributions which [support](https://snapcraft.io/docs/installing-snapd) the packaging system. ``` snap install iamb ``` ## Configuration You can create a basic configuration in `$CONFIG_DIR/iamb/config.toml` that looks like: ```toml [profiles."example.com"] user_id = "@user:example.com" ``` If you homeserver is located on a different domain than the server part of the `user_id` and you don't have a [`/.well-known`][well_known_entry] entry, then you can explicitly specify the homeserver URL to use: ```toml [profiles."example.com"] url = "https://example.com" user_id = "@user:example.com" ``` ## License iamb is released under the [Apache License, Version 2.0]. [Apache License, Version 2.0]: https://github.com/ulyssa/iamb/blob/master/LICENSE [client-comparison-matrix]: https://matrix.org/clients-matrix/ [crates-io-iamb]: https://crates.io/crates/iamb [iamb.chat]: https://iamb.chat [gomuks]: https://github.com/tulir/gomuks [weechat-matrix]: https://github.com/poljar/weechat-matrix [well_known_entry]: https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient