iamb/README.md

148 lines
3.8 KiB
Markdown
Raw Permalink Normal View History

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
[![Build Status](https://github.com/ulyssa/iamb/actions/workflows/ci.yml/badge.svg)](https://github.com/ulyssa/iamb/actions?query=workflow%3ACI+)
2024-03-28 21:35:38 -07:00
[![License: Apache 2.0](https://img.shields.io/crates/l/iamb.svg?logo=apache)][crates-io-iamb]
2023-03-10 18:08:42 -08: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-28 21:35:38 -07:00
[![Latest Version](https://img.shields.io/crates/v/iamb.svg?logo=rust)][crates-io-iamb]
2024-03-02 21:48:46 +00:00
[![iamb](https://snapcraft.io/iamb/badge.svg)](https://snapcraft.io/iamb)
2024-03-28 09:20:27 -07:00
![Example Usage](https://iamb.chat/static/images/iamb-demo.gif)
</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
2024-08-20 22:26:52 -07:00
- Send Markdown, HTML or plaintext messages
2024-03-28 21:35:38 -07:00
- 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].
2024-08-20 22:26:52 -07:00
## 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"
```
## Installation (via `crates.io`)
2021-07-02 23:22:37 -07:00
Install Rust (1.83.0 or above) and Cargo, and then run:
2021-07-02 23:22:37 -07:00
```
cargo install --locked iamb
2021-07-02 23:22:37 -07:00
```
2024-08-20 22:26:52 -07:00
See [Configuration](#configuration) for getting a profile set up.
## Installation (via package managers)
### 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
```
### FreeBSD
On FreeBSD a package is available from the official repositories. To install it simply run:
```
pkg install iamb
```
### Gentoo
On Gentoo, an ebuild is available from the community-managed
[GURU overlay](https://wiki.gentoo.org/wiki/Project:GURU).
You can enable the GURU overlay with:
```
eselect repository enable guru
emerge --sync guru
```
And then install `iamb` with:
```
emerge --ask iamb
```
2024-08-20 22:26:52 -07:00
### macOS
2023-03-09 11:26:30 +01:00
2025-05-15 03:46:13 +02:00
On macOS a [package](https://formulae.brew.sh/formula/iamb#default) is available in Homebrew's
2024-08-20 22:26:52 -07:00
repository. To install it simply run:
2023-03-09 11:26:30 +01:00
```
2024-08-20 22:26:52 -07:00
brew install iamb
2023-03-09 11:26:30 +01:00
```
2024-08-20 22:26:52 -07:00
### NetBSD
2024-08-20 22:26:52 -07:00
On NetBSD a package is available from the official repositories. To install it simply run:
```
2024-08-20 22:26:52 -07:00
pkgin install iamb
```
### Nix / NixOS (flake)
```
nix profile install "github:ulyssa/iamb"
```
### openSUSE Tumbleweed
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:
2023-03-24 10:32:14 +00:00
```
zypper install iamb
2023-03-24 10:32:14 +00:00
```
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
```
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
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
[well_known_entry]: https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient