tui-tools

Terminal tools for Linux

The command in the dialog is the command that runs

Every tool here opens read-only, shows you the system as it actually is, and previews the exact command line before it changes anything. One static binary each. No daemon, no state of its own, nothing left running after you quit.

Install tui-cert v0.1.0
$ curl -fsSL https://github.com/tui-tools/tui-cert/releases/download/v0.1.0/tui-cert_0.1.0_linux_amd64.tar.gz | tar -xz tui-cert
  sudo install -m0755 tui-cert /usr/local/bin/tui-cert
  • Preview, then confirm. There is no other path to a change.
  • Read-only by default. Starting a tool only reads.
  • Runs as you. Only an action escalates, through sudo -n.
  • --demo on every tool: real previews, nothing touched.
One certificate in full: the chain, the key beside it, the configuration that references it
tui-cert asking the same question, on a real machine

The tools

v0.1.0
The inventory, worst first: what expires when, who issued it, and which server serves it

Every certificate on the machine, and what will stop working when

certificateslinux · amd64, arm64certbot ≥ 1.0acme.sh ≥ 3.0.0

$ curl -fsSL https://…ar.gz | tar -xz tui-cert

Every container on one list, docker and podman together, with what is wrong at the top

Every container on one screen, docker and podman together

containerslinux · amd64, arm64docker ≥ 20.10podman ≥ 4.0

$ curl -fsSL https://…| tar -xz tui-containers

v0.1.0
Every scheduled job on one list: systemd timers and cron together, with the schedule as written and how the last run went

Every scheduled job on one screen, systemd timers and cron together

schedulinglinux · amd64, arm64systemctl ≥ 245crontab

$ curl -fsSL https://…ar.gz | tar -xz tui-cron

v0.1.0
The device tree: size, filesystem, usage and the SMART verdict of every disk

Disks, mounts, fstab, btrfs and SMART, previewed before every change

storagelinux · amd64, arm64lsblk ≥ 2.34btrfs ≥ 5.10

$ curl -fsSL https://…ar.gz | tar -xz tui-disk

The rules table, with status, default policies and logging in the header

ufw and firewalld, with every change previewed before it runs

firewalllinux · amd64, arm64ufw ≥ 0.36firewall-cmd ≥ 0.9

$ curl -fsSL https://…z | tar -xz tui-firewall

v0.1.0
The journal, with the journalctl command behind what is on screen along the bottom

The journal on one screen: narrow it, follow it, and shrink it safely

logslinux · amd64, arm64journalctl ≥ 239

$ curl -fsSL https://…ar.gz | tar -xz tui-logs

The links table: state, type, address, gateway and who manages each link

Links, addresses, routes and DNS, with every change previewed before it runs

networklinux · amd64, arm64networkctl ≥ 245

$ curl -fsSL https://…gz | tar -xz tui-network

v0.1.0
Every share on one list, worst first: what it exports, who may reach it, and the Unix mode of the directory behind it

Samba shares, accounts and live connections, with every change previewed

file-sharinglinux · amd64, arm64smbd ≥ 4.11

$ curl -fsSL https://…r.gz | tar -xz tui-samba

The posture: one row per probe, its verdict, and the score across all of them

The machine's security posture, with the command behind every verdict

securitylinux · amd64, arm64systemctl ≥ 245sshd ≥ 8.2

$ curl -fsSL https://….gz | tar -xz tui-secure

The snapshot history: pre/post pairs, timeline snapshots and the pinned ones, newest first

btrfs snapshots, managed by snapper, from the terminal

snapshotslinux · amd64, arm64snapper ≥ 0.8.6

$ curl -fsSL https://…gz | tar -xz tui-snapper

v0.1.0
The effective configuration: the settings that decide who gets in, each with a verdict and the file that set it

The SSH server as it really is, with every change previewed before it runs

sshlinux · amd64, arm64ssh ≥ 8.2

$ curl -fsSL https://…tar.gz | tar -xz tui-ssh

The unit list, with failed units sorted to the top

systemd units: what failed, why, and every action previewed

systemdlinux · amd64, arm64systemctl ≥ 230

$ curl -fsSL https://…gz | tar -xz tui-systemd

The pending list: current to new, repository, size and the security flag, kernel and firmware first

Pending package updates, what they restart, and a snapshot first

packageslinux · amd64, arm64pacman ≥ 6.0apt ≥ 2.0

$ curl -fsSL https://….gz | tar -xz tui-update

v0.1.0
The accounts table, findings first: uid 0 twice, an empty password, a service account with a shell

Accounts, groups, keys and sudo, with every change previewed before it runs

userslinux · amd64, arm64useradd ≥ 4.8ssh-keygen ≥ 8.2

$ curl -fsSL https://…r.gz | tar -xz tui-users

unreleased
The list: the four bands every tool in the family draws

A working skeleton for a new tui-tools tool

templatelinux · amd64, arm64touch ≥ 8.0

$ git clone https://g…m/tui-tools/tui-template

What makes them a family

One promise

A tool never assembles a shell string. It builds a command value, shows that value in the confirm dialog, and hands the same value to the runner. The preview cannot drift from what executes, because they are the same object.

One palette

Tokyo Night by default. On Omarchythe tools read your active desktop theme, so switching the desktop switches every tool. NO_COLOR drops color and keeps layout.

One shape

The same key language, the same four bands on screen, the same config precedence, and the same 40-column-to-full-screen responsiveness. They all come from tui-kit.