2024-03-28 09:20:27 -07:00
< div align = "center" >
< h1 > < img width = "200" height = "200" src = "docs/iamb.svg" > < / h1 >
2021-07-02 23:22:37 -07:00
2023-10-20 19:32:33 -07:00
[](https://github.com/ulyssa/iamb/actions?query=workflow%3ACI+)
2024-03-28 21:35:38 -07:00
[][crates-io-iamb]
2023-03-10 18:08:42 -08:00
[](https://matrix.to/#/#iamb:0x .badd.cafe)
2024-03-28 21:35:38 -07:00
[][crates-io-iamb]
2024-03-02 21:48:46 +00:00
[](https://snapcraft.io/iamb)
2023-01-06 16:56:28 -08:00
2024-03-28 09:20:27 -07:00

< / div >
2021-07-02 23:22:37 -07:00
## About
2024-03-28 21:35:38 -07:00
`iamb` is a Matrix client for the terminal that uses Vim keybindings. It includes support for:
2021-07-02 23:22:37 -07:00
2024-03-28 21:35:38 -07:00
- 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]._
2021-07-02 23:22:37 -07:00
2023-01-05 18:37:58 -08:00
## Documentation
You can find documentation for installing, configuring, and using iamb on its
website, [iamb.chat].
2021-07-02 23:22:37 -07:00
## Installation
2024-03-02 15:00:29 -08:00
Install Rust (1.70.0 or above) and Cargo, and then run:
2021-07-02 23:22:37 -07:00
```
2023-01-23 17:08:11 -08:00
cargo install --locked iamb
2021-07-02 23:22:37 -07:00
```
2024-03-28 21:35:38 -07:00
See [Configuration ](#configuration ) for getting a profile set up.
2023-03-09 11:26:30 +01:00
### NetBSD
On NetBSD a package is available from the official repositories. To install it simply run:
```
pkgin install iamb
```
2023-03-22 10:54:14 -04:00
### Arch Linux
2023-06-15 16:48:59 -04:00
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:
2023-03-22 10:54:14 -04:00
```
paru iamb-git
```
2024-02-27 22:43:03 -05:00
### 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
```
2023-03-22 10:54:14 -04:00
2023-03-24 10:32:14 +00:00
### Nix / NixOS (flake)
```
nix profile install "github:ulyssa/iamb"
```
2024-03-02 21:48:46 +00:00
### Snap
2024-03-28 21:35:38 -07:00
A snap for Linux distributions which [support ](https://snapcraft.io/docs/installing-snapd ) the packaging system.
2024-03-02 21:48:46 +00:00
```
snap install iamb
```
2022-12-29 18:00:59 -08:00
## Configuration
2024-03-28 21:35:38 -07:00
You can create a basic configuration in `$CONFIG_DIR/iamb/config.toml` that looks like:
2022-12-29 18:00:59 -08:00
2024-03-28 21:35:38 -07:00
```toml
[profiles."example.com"]
user_id = "@user:example .com"
2024-02-28 23:21:31 -08:00
```
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:
2024-03-28 21:35:38 -07:00
```toml
[profiles."example.com"]
url = "https://example.com"
user_id = "@user:example .com"
2022-12-29 18:00:59 -08:00
```
2021-07-02 23:22:37 -07:00
## License
iamb is released under the [Apache License, Version 2.0].
[Apache License, Version 2.0]: https://github.com/ulyssa/iamb/blob/master/LICENSE
2022-12-29 20:25:38 -08:00
[client-comparison-matrix]: https://matrix.org/clients-matrix/
2024-03-28 21:35:38 -07:00
[crates-io-iamb]: https://crates.io/crates/iamb
2023-01-05 18:37:58 -08:00
[iamb.chat]: https://iamb.chat
2022-12-29 20:25:38 -08:00
[gomuks]: https://github.com/tulir/gomuks
[weechat-matrix]: https://github.com/poljar/weechat-matrix
2024-02-28 23:21:31 -08:00
[well_known_entry]: https://spec.matrix.org/latest/client-server-api/#getwell -knownmatrixclient