mtroamd · packages

Server-side daemon for the meshTerm iOS app — persistent terminal sessions over QUIC, plus the mtroam CLI. Signed apt + dnf + apk repos for amd64/x86_64, arm64/aarch64 (armhf on apt; apk is x86_64-only for now), plus a Nix flake and AUR packages (mtroamd / mtroamd-bin).

Debian / Ubuntu (apt)

Stablelive · from v1.5.0

Production channel — tracks the App Store app's pinned daemon version.

curl -fsSL https://ag-studio-apps.github.io/mtroamd/mtroamd-archive-keyring.gpg \
  | sudo tee /usr/share/keyrings/mtroamd-archive-keyring.gpg > /dev/null

echo "deb [signed-by=/usr/share/keyrings/mtroamd-archive-keyring.gpg] https://ag-studio-apps.github.io/mtroamd stable main" \
  | sudo tee /etc/apt/sources.list.d/mtroamd.list

sudo apt update && sudo apt install mtroamd

That's it — the package enables + starts the daemon for your login user and turns on linger, so it survives logout + reboot (check with mtroamd doctor). Installed as root / non-interactively? Finish as your login user: sudo loginctl enable-linger "$USER" && systemctl --user enable --now mtroamd

Developmentlive

Unstable — may break your system. Pre-release (-rc) builds for testing; pairs with TestFlight, not the App Store app.
curl -fsSL https://ag-studio-apps.github.io/mtroamd/mtroamd-archive-keyring.gpg \
  | sudo tee /usr/share/keyrings/mtroamd-archive-keyring.gpg > /dev/null

echo "deb [signed-by=/usr/share/keyrings/mtroamd-archive-keyring.gpg] https://ag-studio-apps.github.io/mtroamd dev main" \
  | sudo tee /etc/apt/sources.list.d/mtroamd-dev.list

sudo apt update && sudo apt install mtroamd

That's it — the package enables + starts the daemon for your login user and turns on linger, so it survives logout + reboot (check with mtroamd doctor). Installed as root / non-interactively? Finish as your login user: sudo loginctl enable-linger "$USER" && systemctl --user enable --now mtroamd

Fedora (dnf)

Stablelive · from v1.5.0

Production channel — tracks the App Store app's pinned daemon version.

sudo tee /etc/yum.repos.d/mtroamd.repo <<'EOF'
[mtroamd]
name=mtroamd
baseurl=https://ag-studio-apps.github.io/mtroamd/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://ag-studio-apps.github.io/mtroamd/mtroamd-archive-keyring.asc
EOF

sudo dnf install mtroamd

That's it — the package enables + starts the daemon for your login user and turns on linger, so it survives logout + reboot (check with mtroamd doctor). Installed as root / non-interactively? Finish as your login user: sudo loginctl enable-linger "$USER" && systemctl --user enable --now mtroamd

Developmentlive

Unstable — may break your system. Pre-release builds; pairs with TestFlight.
sudo tee /etc/yum.repos.d/mtroamd-dev.repo <<'EOF'
[mtroamd-dev]
name=mtroamd (development — unstable)
baseurl=https://ag-studio-apps.github.io/mtroamd/rpm/dev/$basearch
enabled=1
gpgcheck=1
gpgkey=https://ag-studio-apps.github.io/mtroamd/mtroamd-archive-keyring.asc
EOF

sudo dnf install mtroamd

That's it — the package enables + starts the daemon for your login user and turns on linger, so it survives logout + reboot (check with mtroamd doctor). Installed as root / non-interactively? Finish as your login user: sudo loginctl enable-linger "$USER" && systemctl --user enable --now mtroamd

Alpine (apk)

Stablelive · x86_64 · from v1.5.4

Production channel — tracks the App Store app's pinned daemon version. aarch64 / armv7 coming soon.

Alpine has no systemd, so mtroamd runs as an OpenRC service under MTROAMD_USER — set it in /etc/conf.d/mtroamd (the daemon spawns your shells as that user). Run as root.

wget -qO /etc/apk/keys/mtroamd-apk.rsa.pub \
  https://ag-studio-apps.github.io/mtroamd/mtroamd-apk.rsa.pub

echo "https://ag-studio-apps.github.io/mtroamd/apk/stable" >> /etc/apk/repositories

apk update && apk add mtroamd
rc-update add mtroamd && rc-service mtroamd start

Developmentlive · x86_64

Unstable — may break your system. Pre-release builds; pairs with TestFlight.
wget -qO /etc/apk/keys/mtroamd-apk.rsa.pub \
  https://ag-studio-apps.github.io/mtroamd/mtroamd-apk.rsa.pub

echo "https://ag-studio-apps.github.io/mtroamd/apk/dev" >> /etc/apk/repositories

apk update && apk add mtroamd
rc-update add mtroamd && rc-service mtroamd start

NixOS / Nix

Stablelive · from v1.5.0

Production channel — the flake on the default branch tracks the App Store app's pinned daemon version. Try it: nix run github:AG-Studio-Apps/mtroamd -- version

# flake.nix
inputs.mtroamd.url = "github:AG-Studio-Apps/mtroamd";

# NixOS — declarative systemd --user service + linger:
#   imports = [ mtroamd.nixosModules.default ];
#   services.mtroamd = { enable = true; users = [ "you" ]; };

# home-manager (set users.<you>.linger = true at the system level):
#   imports = [ mtroamd.homeManagerModules.default ];
#   services.mtroamd.enable = true;

Developmentlive · from develop

Unstable. Tracks the develop branch; pairs with TestFlight.

Try it: nix run github:AG-Studio-Apps/mtroamd/develop -- version

# flake.nix — same modules as stable, just pin the develop branch:
inputs.mtroamd.url = "github:AG-Studio-Apps/mtroamd/develop";

Arch Linux (AUR)

Stablelive · from v1.5.4

Two AUR packages, pick one: mtroamd-bin (pre-built release binaries, fast) or mtroamd (build from source, needs go + pandoc). They provides=/conflicts= each other.

# with an AUR helper:
yay -S mtroamd-bin          # or: paru -S mtroamd-bin

# or by hand:
git clone https://aur.archlinux.org/mtroamd-bin.git
cd mtroamd-bin && makepkg -si

Then enable for your login user: sudo loginctl enable-linger "$USER" && systemctl --user enable --now mtroamd (check with mtroamd doctor).

Uninstall

Debian / Ubuntu

sudo apt remove mtroamd     # stops + removes the daemon, keeps your sessions + cert
sudo apt purge  mtroamd     # also wipes ~/.local/share/mtroamd (full clean removal)

Fedora

sudo dnf remove mtroamd     # stops + removes the daemon, keeps your sessions + cert

Alpine

rc-service mtroamd stop && rc-update del mtroamd
apk del mtroamd             # state in ~/.local/share/mtroamd is kept

NixOS / Nix

Declarative — remove services.mtroamd (or the module import) from your config and rebuild. For an ad-hoc profile install: nix profile remove mtroamd.

Arch Linux

systemctl --user disable --now mtroamd
sudo pacman -R mtroamd-bin   # or mtroamd; state in ~/.local/share/mtroamd is kept