2024-03-28 19:20:27 +03:00
< div align = "center" >
< h1 > < img width = "200" height = "200" src = "docs/iamb.svg" > < / h1 >
2021-07-03 09:22:37 +03:00
2023-10-21 05:32:33 +03:00
[![Build Status ](https://github.com/ulyssa/iamb/actions/workflows/ci.yml/badge.svg )](https://github.com/ulyssa/iamb/actions?query=workflow%3ACI+)
2024-03-29 07:35:38 +03:00
[![License: Apache 2.0 ](https://img.shields.io/crates/l/iamb.svg?logo=apache )][crates-io-iamb]
2023-03-11 05:08:42 +03:00
[![#iamb:0x.badd.cafe ](https://img.shields.io/badge/matrix-%23iamb:0x.badd.cafe-blue )](https://matrix.to/#/#iamb:0x.badd.cafe)
2024-03-29 07:35:38 +03:00
[![Latest Version ](https://img.shields.io/crates/v/iamb.svg?logo=rust )][crates-io-iamb]
2024-03-03 00:48:46 +03:00
[![iamb ](https://snapcraft.io/iamb/badge.svg )](https://snapcraft.io/iamb)
2023-01-07 03:56:28 +03:00
2024-03-28 19:20:27 +03:00
![Example Usage ](https://iamb.chat/static/images/iamb-demo.gif )
< / div >
2021-07-03 09:22:37 +03:00
## About
2024-03-29 07:35:38 +03:00
`iamb` is a Matrix client for the terminal that uses Vim keybindings. It includes support for:
2021-07-03 09:22:37 +03:00
2024-03-29 07:35:38 +03: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-03 09:22:37 +03:00
2023-01-06 05:37:58 +03:00
## Documentation
You can find documentation for installing, configuring, and using iamb on its
website, [iamb.chat].
2021-07-03 09:22:37 +03:00
## Installation
2024-03-03 02:00:29 +03:00
Install Rust (1.70.0 or above) and Cargo, and then run:
2021-07-03 09:22:37 +03:00
```
2023-01-24 04:08:11 +03:00
cargo install --locked iamb
2021-07-03 09:22:37 +03:00
```
2024-03-29 07:35:38 +03:00
See [Configuration ](#configuration ) for getting a profile set up.
2024-05-25 23:42:46 +03:00
### FreeBSD
On FreeBSD a package is available from the official repositories. To install it simply run:
```
pkg install iamb
```
2023-03-09 13:26:30 +03:00
### NetBSD
On NetBSD a package is available from the official repositories. To install it simply run:
```
pkgin install iamb
```
2023-03-22 17:54:14 +03:00
### Arch Linux
2023-06-15 23:48:59 +03: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 17:54:14 +03:00
```
paru iamb-git
```
2024-05-25 23:40:25 +03:00
2024-02-28 06:43:03 +03:00
### openSUSE Tumbleweed
2024-05-25 23:40:25 +03:00
On openSUSE Tumbleweed a [package ](https://build.opensuse.org/package/show/openSUSE:Factory/iamb ) is available from the official repositories. To install it simply run:
2024-02-28 06:43:03 +03:00
```
2024-05-25 23:40:25 +03:00
zypper install iamb
2024-02-28 06:43:03 +03:00
```
2023-03-22 17:54:14 +03:00
2023-03-24 13:32:14 +03:00
### Nix / NixOS (flake)
```
nix profile install "github:ulyssa/iamb"
```
2024-03-03 00:48:46 +03:00
### Snap
2024-03-29 07:35:38 +03:00
A snap for Linux distributions which [support ](https://snapcraft.io/docs/installing-snapd ) the packaging system.
2024-03-03 00:48:46 +03:00
```
snap install iamb
```
2022-12-30 05:00:59 +03:00
## Configuration
2024-03-29 07:35:38 +03:00
You can create a basic configuration in `$CONFIG_DIR/iamb/config.toml` that looks like:
2022-12-30 05:00:59 +03:00
2024-03-29 07:35:38 +03:00
```toml
[profiles."example.com"]
user_id = "@user:example.com"
2024-02-29 10:21:31 +03: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-29 07:35:38 +03:00
```toml
[profiles."example.com"]
url = "https://example.com"
user_id = "@user:example.com"
2022-12-30 05:00:59 +03:00
```
2021-07-03 09:22:37 +03: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-30 07:25:38 +03:00
[client-comparison-matrix]: https://matrix.org/clients-matrix/
2024-03-29 07:35:38 +03:00
[crates-io-iamb]: https://crates.io/crates/iamb
2023-01-06 05:37:58 +03:00
[iamb.chat]: https://iamb.chat
2022-12-30 07:25:38 +03:00
[gomuks]: https://github.com/tulir/gomuks
[weechat-matrix]: https://github.com/poljar/weechat-matrix
2024-02-29 10:21:31 +03:00
[well_known_entry]: https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient