No description
  • Rust 99.2%
  • Nix 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Rasensprenger 8460c7a994
All checks were successful
renovate/stability-days Updates have met minimum release age requirement
Update Rust crate zip to v8
2026-08-30 23:01:14 +03:00
.cargo [Fix] Stability 2026-07-27 20:37:33 +02:00
.forgejo/workflows [Fix] IPC, cli, daemon 2026-07-21 23:05:34 +02:00
client [Fix] Durability 2026-08-30 21:28:17 +02:00
communities Merge remote-tracking branch 'refs/remotes/origin/main' 2026-08-28 13:25:15 +02:00
iota [Fix] Stability 2026-08-28 13:22:59 +02:00
iota-auth [Fix] Stability 2026-08-28 13:22:59 +02:00
iota-cli Merge remote-tracking branch 'refs/remotes/origin/main' 2026-08-28 13:25:15 +02:00
iota-connection [Fix] Durability 2026-08-30 21:28:17 +02:00
iota-core [Fix] Stability 2026-08-28 13:22:59 +02:00
iota-daemon [Fix] Stability 2026-08-28 13:22:59 +02:00
iota-daemon-lib [Fix] Connections 2026-08-30 19:18:01 +02:00
iota-installer Update Rust crate zip to v8 2026-08-30 23:01:14 +03:00
iota-ipc Merge remote-tracking branch 'refs/remotes/origin/main' 2026-08-28 13:25:15 +02:00
iota-logger [Fix] Stability 2026-08-28 13:22:59 +02:00
iota-paths [Fix] Stability 2026-08-28 13:22:59 +02:00
iota-process-manager [Updt] Mtp 0.3.0 2026-08-20 17:05:43 +02:00
iota-state [Add] Replyjumps 2026-08-28 16:21:11 +02:00
iota-storage [Fix] Durability 2026-08-30 21:28:17 +02:00
iota-terms [Fix] Stability 2026-08-28 13:22:59 +02:00
iota-updater [Add] Replyjumps 2026-08-28 16:21:11 +02:00
iota-util Update Rust crate zip to v8 2026-08-30 23:01:14 +03:00
mtp-type-maps@f4e45aa3a3 [Fix] Connectivity 2026-08-29 12:49:10 +02:00
omikron-connector [Fix] Durability 2026-08-30 21:28:17 +02:00
other-iota [Fix] Stability 2026-08-28 13:22:59 +02:00
static/web IotaFrontend 2025-11-18 21:21:01 +01:00
systemd [Fix] Connectivity 2026-08-29 12:49:10 +02:00
web-server [Fix] Stability 2026-08-28 13:22:59 +02:00
web-ui [Fix] Connections 2026-08-30 19:18:01 +02:00
.cargo_toml_backup [FIX] Web UI 2026-02-15 02:29:48 +01:00
.gitignore [Fix] IPC, cli, daemon 2026-07-21 23:05:34 +02:00
.gitmodules [Fix] Stability 2026-07-27 20:37:33 +02:00
Cargo.lock Update Rust crate zip to v8 2026-08-30 23:01:14 +03:00
Cargo.toml [WIP] Daemon & CLI 2026-07-23 23:13:02 +02:00
dockerfile [Fix] IPC, cli, daemon 2026-07-21 23:05:34 +02:00
flake.lock [Feat] Split Daemon & TUI 2026-07-20 23:40:33 +02:00
flake.nix [Fix] Connectivity 2026-08-29 12:49:10 +02:00
LICENSE (chore): update license 2026-07-25 13:10:44 +02:00
README.md [Updt] Mtp 0.3.0 2026-08-20 17:05:43 +02:00
renovate.json Add renovate.json 2026-08-05 20:15:42 +02:00

IOTA

A lightweight, Rust-based TUI and service orchestrator for Tensamin IOTA. Iota manages users and stores their messages and communities. It can be run in a centralised, decentralised or hybrid mode.

The Iota is a work in progress.

Terminal themes

The TUI defaults to the ANSI theme. Select a theme for one invocation with --theme:

iota --theme monospace
iota --theme binary status

The available names are monospace, binary, ansi, and surface. Theme selection uses this precedence: --theme, IOTA_THEME, then ui.yaml in Iota's configuration directory. For example:

IOTA_THEME=surface iota

On Linux, the configuration file defaults to ~/.config/iota/ui.yaml (or $XDG_CONFIG_HOME/iota/ui.yaml when set):

theme: surface

An invalid ui.yaml value is reported and Iota falls back to ANSI so the TUI can still start.

Accepting terms without the TUI

Iota services do not start until the required agreements have been accepted for the deployment. Use the terminal flow to read each current document and type the document-specific acceptance phrase:

iota terms accept

For a system-managed daemon, accept its deployment-scoped terms as an account that can write the system Iota state directory (normally via sudo):

sudo iota terms accept --system

iota terms status reports the stored state, and iota terms show eula, iota terms show tos, or iota terms show privacy displays an individual document without accepting it.

Linux daemon installation

The system-managed daemon runs as the dedicated iota account and listens on /run/iota/iota.sock through socket activation. The system IPC socket is the privilege boundary. Operator access is granted through the iota-operators group, and every account admitted through that socket is authorized for the full operator-console role, including user management, identity rotation, configuration, and daemon lifecycle commands. After installing, add an account with:

usermod -aG iota-operators USER

The user must start a new login session before supplementary group membership is visible. Unix per-user deployments must set IOTA_SOCKET to an absolute path; Iota does not derive its IPC socket from XDG_RUNTIME_DIR.