No description
  • Rust 99.2%
  • Nix 0.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-06 17:01:55 +02: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 Update Rust crate rusqlite to 0.40.0 2026-08-06 01:03:38 +02:00
communities Update Rust crate rusqlite to 0.40.0 2026-08-06 01:03:38 +02:00
iota [Imp] UI & UX 2026-07-28 02:20:15 +02:00
iota-auth Update Rust crate rusqlite to 0.40.0 2026-08-06 01:03:38 +02:00
iota-cli Update Rust crate rusqlite to 0.40.0 2026-08-06 01:03:38 +02:00
iota-connection (fix): fix connection issues 2026-07-28 01:02:04 +02:00
iota-core [WIP] paths 2026-07-24 01:36:14 +02:00
iota-daemon [Fix] Stability 2026-07-27 20:37:33 +02:00
iota-daemon-lib (feat): update mtp 2026-07-28 21:05:25 +02:00
iota-installer [Fix] Stability 2026-07-27 20:37:33 +02:00
iota-ipc caching 2026-07-25 22:59:25 +02:00
iota-logger [Fix] Stability 2026-07-27 20:37:33 +02:00
iota-paths (feat): improve config stuff 2026-07-25 22:55:02 +02:00
iota-process-manager (feat): improve config stuff 2026-07-25 22:55:02 +02:00
iota-state [WIP] Daemon & CLI 2026-07-23 23:13:02 +02:00
iota-storage Update Rust crate rusqlite to 0.40.0 2026-08-06 01:03:38 +02:00
iota-terms caching 2026-07-25 22:59:25 +02:00
iota-updater [WIP] paths 2026-07-24 01:36:14 +02:00
iota-util [Fix] Stability 2026-07-27 20:37:33 +02:00
mtp-type-maps@f430cd358b (feat): update mtp 2026-07-28 21:05:25 +02:00
omikron-connector (fix): connections (again) 2026-07-28 23:53:39 +02:00
other-iota Update Rust crate rusqlite to 0.40.0 2026-08-06 01:03:38 +02:00
static/web IotaFrontend 2025-11-18 21:21:01 +01:00
systemd [WIP] Daemon & CLI 2026-07-23 23:13:02 +02:00
web-server [WIP] Daemon & CLI 2026-07-23 23:13:02 +02:00
web-ui Update Rust crate rusqlite to 0.40.0 2026-08-06 01:03:38 +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 Merge pull request 'Update Rust crate open to v5.4.1' (#9) from renovate/open-5.x-lockfile into main 2026-08-06 17:01:55 +02: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 (feat): improve config stuff 2026-07-25 22:55:02 +02:00
LICENSE (chore): update license 2026-07-25 13:10:44 +02:00
README.md Merge branch 'main' of ssh://git.methanium.net/tensamin/iota 2026-07-25 22:59:35 +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. Operator access is granted through the iota-operators group. 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.