Omarchy 2.0 - TUIs (Terminal User Interface Apps)

9 de setembro de 2025 · 💬 Participe da Discussão

Uma das coisas mais frustrantes pra um usuário de Linux é que existem muito poucos Apps gráficos bem feitos. Veja um Gimp ou LibreOffice. São feios, antiquados, muito parecidos com a primeira vez que usei eles mais de 20 anos atrás.

Os apps mais “modernos” são basicamente front-ends web enlatados dentro de um wrapper Electron. O problema? São PESADOS consomem RAM como se não houvesse amanhã. Comece a abrir Discord, Spotify, e vários desses e veja se seu notebook velho de 8GB de RAM vai aguentar.

Mas, especialmente se você é um programador, deveria dar mais atenção pra TUIs. Num primeiro momento alguns devem virar o nariz: “apps de terminal são feios, preto e branco, quadrados, blerg”

Se fosse 20 anos atrás, estariam certos. Mas é 2025 e hoje em dia terminais suportam 256 cores (mais que suficiente), suportam várias resoluções e, mais importante, suportam fontes, em particular Nerd Fonts, fontes que tem ícones dentro. É assim que funciona uma ferramenta como eza, que eu uso todo dia com alias pra ls e fica assim:

eza

Não é só isso, existem bibliotecas modernas, pra diversas linguagens, como BubbleTea, que é um framework pra construir TUIs. Chequem o GitHub deles mas tem as ferramentas pra fazer interfaces assim:

BubbleTea

E se quiser só um widget simples pra complementar um script Bash que está fazendo, eles tem o Gum, que permite interfaces assim:

Gum

E pra usar é só instalar o binário e no seu script fazer linhas assim:

# exemplos de Gum
gum choose "fix" "feat" "docs" "style" "refactor" "test" "chore" "revert"

gum input --placeholder "scope"

gum confirm "Commit changes?" && git commit -m "$SUMMARY" -m "$DESCRIPTION"

E se usa Omarchy eles ainda trazem uma funcionalidade extra pra TUIs. Basta clicar “SUPER+ALT+SPACE” pra trazer o menu principal, depois escolher “INSTALL” e “TUI”. Ou simplesmente abrir o terminal e executar:

$OMARCHY_PATH/bin/omarchy-tui-install

omarchy-tui-install

Ele vai pedir um nome pro App e a linha de comando pra executar. Dá pra escolher icones também no Dashboard Icons. Registrando dessa forma, quando chamar o launcher Rofi com “SUPER+SPACE” e digitar “lazy” vai aparecer o LazyDocker como se fosse um app normal:

Rofi LazyDocker

E como em Hyprland não tem barra de título nem nada, apps TUI ou webapps (tem omarchy-webapp-install também) abrem como se fossem apps “nativos”:

tiles windows

Leiam as seções de TUIs e Web-Apps no manual do Omarchy.

Obviamente, isso é só se você é daqueles que prefere a sensação de estar executando “Apps”, mas é a mesma coisa se abrir um Terminal e simplesmente digitar o lazydocker na linha de comando - que é minha preferência. O que esses scripts do Omarchy fazem é criar um arquivo .desktop em ~/.local/share/applications. O exemplo do LazyDocker.desktop gera isto:

❯ cat ~/.local/share/applications/LazyDocker.desktop
[Desktop Entry]
Version=1.0
Name=LazyDocker
Comment=LazyDocker
Exec=alacritty --class TUI.tile -e lazydocker
Terminal=false
Type=Application
Icon=/home/akitaonrails/.local/share/applications/icons/LazyDocker.png
StartupNotify=true

Se não quiser mais este launcher é só apagar o arquivo ou chamar o script $OMARCHY_PATH/bin/omarchy-tui-remove.

Esse recurso é particularmente interessante no Hyprland porque diferente de GNOME ou KDE, a janela não tem barra superior de título, então não entrega que você está só abrindo um terminal ou navegador web. É assim que ele já vem pré-configurado com coisas como ChatGPT ou Grok parecendo que são apps “nativos”, mas na verdade são só janelas de Chromium abrindo direto as URLs de cada um:

WebApps Omarchy

Alguns TUIs que eu gosto

Na minha opinião, já que não tem Apps com GUIs bonitas pra Linux, é melhor mesmo usar os respectivos web-apps como Canva ou ChatGPT dessa forma, mas mais interessante é ter TUIs mesmo. Como falei, hoje em dia não é difícil fazer TUIs bonitas. Pra um programador, a vantagem é não tem que lidar, primeiro com frameworks de front-end, segundo, ter que fazer deploy em algum lugar na internet.

TUIs são leves, usam poucos recursos na máquina, são fáceis pra qualquer programador fazer, e você pode ter um home server ou um servidor num cloud qualquer, acessar via SSH e acessar a TUI, sem ter que lidar com X11 ou RDP ou qualquer coisa mais pesada só pra ter um GUI.

Alguns TUIs são óbvios, no post anterior já falei de LazyVim e como ele é um editor de textos tão competente e completo quando um VS Code, usando só uma fração dos recursos da máquina. Todo mundo deve conhecer ferramentas como HTOP ou BTOP. Além dos LazyGit ou LazyDocker também. Esses todos já vem no Omarchy.

Mas tem muito mais, por exemplo, dblab que é um TUI cliente de banco de dados como MySQL ou Postgres:

dblab

Outro similar é LazySQL, feito em Go:

LazySQL

Ou se você prefere ferramentas feitas em Rust, tem o rainfrog:

rainfrog

Pra quem não consegue usar CURL na linha de comando e prefere usar Postman pra chamar e explorar APIs, tem o TUI Posting que faz a mesma coisa:

Posting

Pra nós que rodamos muitos containers Docker, já falei do LazyDocker, mas tem também o oxker:

oxker

Se usar Discord, tem o discordo:

Discordo

Quem faz muito ricing de Linux já teve que gravar ISOs em Pen Drives dezenas de vezes, pra isso tem o dd na linha de comando, mas tem um TUI mais legal que é o Caligula:

Caligula

Se seu SSD está ficando cheio e você não sabe onde diabos que tá ocupando tanto espaço, tem várias ferramentas pra analisar e te mostrar, um deles é o gdu:

gdu

E o último que achei legal pela nostalgia é o sc-im, pense em Excel como TUI ou - pra nós que viemos dos anos 80 - pense Lotus 1-2-3 mas com key bindings de Vim:

sc-im

Pra que abrir Google Spreadsheets só pra fazer um Todo list se dá pra fazer no Terminal?? TUIs são excepcionais!

Se quiser conhecer mais TUIs olhe o awesome-tuis no GitHub:

awesome tuis De novo: zero necessidade de front-ends web pesadas pra coisas simples. Nada supera a simplicidade de uma linha de comando. E com bibliotecas como BubbleTea ou Gum, está muito fácil pra qualquer um fazer um app bonito. E com Hyprland e Omarchy, fica tudo integrado lado-a-lado de qualquer outro app com GUI.

Filosofando um pouco, a história das GUIs começa com interfaces gráficas skeumorphic que tentam imitar objetos do nosso dia a dia, em particular parecendo pseudo-3D, como era um Windows 95. Chegou nos anos 2000 e começaram a migrar pra interfaces flat ou minimalistas, tirando completamente o skeumorphismo, deixando tudo plano. Foi a partir do Metro do Windows 8, principalmente. E eu acho que isso converge pra estilo mais de TUI, dando uma volta completa, voltando a como era nos terminais dos anos 70. Eu particularmente acho isso fascinante.