Skip to content
@tui-tools

tui-tools

Terminal tools for Linux servers, in the visual style of Omarchy (Go, Bubble Tea)

tui-tools

Terminal tools for Linux that show you the system as it is, and preview the exact command line of every change before running it.

Each one is a single static binary. No daemon, no state of its own, nothing left running after you quit. They share a palette, a key language and one promise: the command in the confirm dialog is the command that executes.

tui-tools.github.io — every tool, with screenshots, install commands per package manager, checksums and what each one can do to your machine. It is built from each repository's own tool.json, so a new tool appears there on its first release without anyone editing a page.

The tools

Tool What it does
tui-firewall The system firewall: rules, policies, logging. ufw today, firewalld planned. CI release
tui-systemd systemd units: what failed, the journal that explains why, timers, boot times. CI release
tui-snapper btrfs snapshots, managed by snapper: the history, what changed between any two, and undo. CI release
tui-network Links, addresses, routes and DNS: systemd-networkd and resolved, with the .network file behind each link. CI release
tui-secure The machine's security posture: Secure Boot, SELinux or AppArmor, the firewall, sshd, updates and accounts, each with the command behind its verdict. CI release
tui-users Local accounts, groups, authorized keys and sudo: who exists, what each one can do, and what is worth a second look. CI release
tui-update Pending package updates across pacman, apt and dnf: what they restart or reboot, what is a security fix, and a snapshot before. CI release
tui-disk Disks, mounts and fstab crossed against each other, btrfs filesystems in full and the SMART health of every drive. CI release
tui-ssh The SSH server as it really is: the effective sshd_config with a verdict per setting, live sessions, failed logins and host keys. CI release
tui-logs The systemd journal: every filter a journalctl argument, the command it adds up to on screen, and vacuuming previewed before it runs. CI release
tui-cron Every scheduled job on one screen, systemd timers and cron together, with each schedule read back in English next to the expression. CI release
tui-cert Every TLS certificate on the machine, worst first: what expires when, whose key is not its key, and what a server is really serving. CI release
tui-containers Every container on one screen, docker and podman together: what is wrong first, one container in full, and its log. CI release
tui-samba The Samba file server: shares worst first with the Unix permissions behind them, the accounts, and who is connected right now. CI release
tui-tailscale Self-hosted Tailscale from the terminal, both ends of it: the Headscale control plane on this host, and this machine as a tailnet node. CI release
tui-wireguard WireGuard interfaces and peers, and the host around them: whether the firewall lets a handshake in, forwarding and NAT for a server, and no private key ever on screen. CI release
Also here
tui-kit The shared foundation: theme, widgets, config loader, command runner. CI
tui-template A working skeleton for a new tool. Press Use this template.

Maintainers of the projects behind the tools

Every tool here is a terminal UI in front of someone else's project: headscale, tailscale, ufw, firewalld, nftables, certbot, acme.sh, Samba, snapper, systemd, WireGuard and more. If you are an official maintainer of one of those projects, you are welcome to contribute to the tool that drives it with pull requests. If you would like to take over or share the maintenance of that tool, get in touch and we can look at making you a maintainer of its repository. The people responsible for a project are the ones best placed to shape the terminal UI in front of it.

Reach Edimar on X at @edimarlnx, or open an issue in the tool's repository labelled upstream. If you cannot set labels there, put the word in the title and it will be added for you. The site lists which projects each tool drives.

Try one without a machine to risk

tui-firewall --demo
tui-systemd --demo
tui-snapper --demo
tui-network --demo
tui-secure --demo
tui-users --demo
tui-update --demo
tui-disk --demo
tui-ssh --demo
tui-logs --demo
tui-cron --demo
tui-cert --demo
tui-containers --demo
tui-samba --demo
tui-tailscale --demo
tui-wireguard --demo

--demo runs against sample data. Every key works, every command is built and previewed for real, and nothing touches your system.

The rules

They hold for every tool here.

  • Preview, then confirm. No tool changes anything without first showing the exact command line. The confirm dialog is the only path to a mutation, and the value it displays is the value that runs.
  • Read-only by default. Starting a tool only reads state.
  • No daemon, no state of its own. The system is the source of truth; the tools re-read it after every change.
  • Runs as you. Reads work unprivileged wherever the underlying tool allows it; only an action escalates, through sudo -n, which never prompts.
  • Backend behind an interface. The UI never names a binary, which is what lets tui-firewall grow a firewalld backend without touching its screens.
  • Responsive. Layouts adapt from a 40-column pane to a full screen.

Naming

Every tool is tui-<target>: the repository, the Go module, the binary and the config directory all carry that one name, with no aliases. tui-<name>-<solution> only when a target genuinely needs disambiguating.

Theme

The default palette is Tokyo Night. If you run Omarchy, the tools read your active desktop theme from ~/.config/omarchy/current/theme/colors.toml and follow it, so switching your desktop theme switches every tool. TUI_THEME overrides, and NO_COLOR drops color while keeping layout.

Unofficial. These tools follow the Omarchy visual style and read its theme files. They are not part of the Omarchy project and are not endorsed by its maintainers.

Roadmap

The list the family set out to build is complete: every tool above exists, runs and has a --demo. What comes next is depth rather than breadth — a firewalld backend for tui-firewall, so Fedora and RHEL-family machines get the same screens ufw users have today.

Which means the next tool is whichever one somebody asks for. If there is a part of a Linux machine you keep reading through four commands and a manual page, open an issue on tui-tools/.github and say so.

Status

Early, under validation. Expect rough edges, and please report them — a bug report from a real machine, with the output the tool showed, is the most useful thing anyone can send right now.

License

MIT, per repository.

Maintainer

Created and maintained by Edimar Cardoso (@edimarlnx on X, edimarlnx on GitHub). Sponsor this work: github.com/sponsors/edimarlnx

Popular repositories Loading

  1. tui-firewall tui-firewall Public

    ufw, firewalld and nftables, with every change previewed before it runs (Linux TUI, previews every change)

    Go 1

  2. tui-tools.github.io tui-tools.github.io Public

    The tui-tools family website: a marketplace of terminal tools for Linux, built from each tool's tool.json manifest.

    MDX 1

  3. tui-kit tui-kit Public

    Shared foundation for the tui-tools family: Tokyo Night theme, Bubble Tea widgets, config loader and the preview-confirm-run command runner.

    Go

  4. tui-systemd tui-systemd Public

    systemd units: what failed, why, and every action previewed (Linux TUI, previews every change)

    Go

  5. tui-template tui-template Public template

    Template for a new tui-tools tool: a working Bubble Tea skeleton with the kit, config, the preview-confirm-run runner, --demo, CI and releases.

    Go

  6. .github .github Public

    Organization profile and shared community health files for the tui-tools family.

Repositories

Showing 10 of 26 repositories
  • tui-firewall Public

    ufw, firewalld and nftables, with every change previewed before it runs (Linux TUI, previews every change)

    tui-tools/tui-firewall's past year of commit activity
    Go 1 MIT 0 0 0 Updated Sep 26, 2026
  • tui-wireguard Public

    WireGuard and its control plane, from the terminal (Linux TUI, previews every change)

    tui-tools/tui-wireguard's past year of commit activity
    Go 0 MIT 0 2 0 Updated Sep 26, 2026
  • tui-update Public

    Pending package updates, what they restart, and a snapshot first (Linux TUI, previews every change)

    tui-tools/tui-update's past year of commit activity
    Go 0 MIT 0 0 0 Updated Sep 26, 2026
  • tui-secure Public

    The machine's security posture, with the command behind every verdict (Linux TUI, previews every change)

    tui-tools/tui-secure's past year of commit activity
    Go 0 MIT 0 0 0 Updated Sep 26, 2026
  • tui-router Public

    Every part of the router on one screen (Linux TUI, previews every change)

    tui-tools/tui-router's past year of commit activity
    Go 0 MIT 0 0 1 Updated Sep 26, 2026
  • tui-tools Public

    Every tui-tools tool in one place, installed through your package manager (Linux TUI, previews every change)

    tui-tools/tui-tools's past year of commit activity
    Go 0 MIT 0 0 0 Updated Sep 26, 2026
  • tui-tools.github.io Public

    The tui-tools family website: a marketplace of terminal tools for Linux, built from each tool's tool.json manifest.

    tui-tools/tui-tools.github.io's past year of commit activity
    MDX 1 MIT 0 0 1 Updated Sep 26, 2026
  • headscale Public

    Source-built mirror of headscale for tui-router (managed by tui-vpn). Not affiliated with the headscale project.

    tui-tools/headscale's past year of commit activity
    Shell 0 0 0 0 Updated Sep 26, 2026
  • tui-lab Public

    A small, reproducible multi-distro VM lab for testing the tui-tools family against real package managers and backends

    tui-tools/tui-lab's past year of commit activity
    Shell 0 MIT 0 0 0 Updated Sep 26, 2026
  • .github Public

    Organization profile and shared community health files for the tui-tools family.

    tui-tools/.github's past year of commit activity
    0 MIT 0 0 0 Updated Sep 26, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Go Shell MDX