Projetos
PowerTerminal
CLIDotfilesNeovimTerminalProdutividade

PowerTerminal

CLI que replica um setup completo de desenvolvedor (terminal, shell, Neovim e outros utilitários) em qualquer distro baseada em Debian, reduzindo dias de configuração a um único comando.


Sobre o projeto

Troquei de distro poucas vezes na vida. E não foi por gostar da que eu tinha, basicamente preguiça! Toda vez que cogitava migrar, o preço: dois, três dias reconstruindo do zero um setup que já funcionava direitinho. Zsh. Plugins. Tema do terminal. O editor ajustado do jeito que uso, cada utilitário de linha de comando reinstalado um a um, sem pressa nenhuma, só o cansaço de repetir o que a máquina anterior já sabia fazer. Resultado? Eu adiava a troca. Não porque a distro velha fosse melhor, e sério já fiquei usando o Manjaro quebrado por um ano só por preguiça de reconfigurar.

O PowerTerminal nasceu pra matar essa dor/preguiça. É uma CLI que instala e versiona esse conjunto inteiro (Zsh com Oh My Zsh e Powerlevel10k, Kitty, Neovim com AstroNvim por cima, mais itens como eza, starship, lazygit e yazi) em qualquer Ubuntu, Debian ou Pop!_OS. Um comando só. O que consumia dias de ajuste vira questão de minutos. E claro, tudo vai com a minha cara com o que eu uso, mas o projeto está livre então não seja um chato e se não gostar do meu kit, crie o seu.

O problema que ele resolve

Configurar do zero cansa. E ainda é arriscado: você esquece um passo, troca uma flag, e só descobre o que faltou na primeira semana de uso, bem no pior momento possível. Foi isso que me prendeu à mesma distro por anos: não gostar tanto assim dela, mas temer o pedágio de recomeçar em outra.

O projeto ataca isso com três perfis prontos, minimal, dev e full, cada um cobrindo um recorte de programas que fui testando e ajustando com o tempo até chegar num ponto que considero maduro, sem gambiarra escondida nem passo manual que alguém vá esquecer no meio do caminho. Quando nenhum perfil serve como está? Dá pra escolher item por item (são doze componentes independentes entre si) e instalar só o que interessa. Não sei se doze é o número definitivo, ainda mexo nisso de vez em quando, mas as dependências já entram sozinhas quando fazem sentido juntas: pedir o AstroNvim já traz a base junto.

O que tem no repositório

O núcleo é o instalador guiado. powerterminal install, sem argumentos, abre um assistente que confere a máquina, pergunta o perfil e resume o que vai mudar antes de tocar em qualquer arquivo, executando só depois, um bloco de cada vez, com log detalhado guardado à parte. Quem já sabe o que quer pula direto para --profile full --yes ou escolhe partes específicas com --module.

Nada aqui é irreversível. O --dry-run mostra o que aconteceria sem tocar em nada. O doctor, mais tarde, aponta o que saiu do lugar. E se um arquivo acabar substituído sem querer? Vai antes para uma cópia datada (já perdi um .zshrc inteiro trocando de máquina, uma vez, e não repito o erro), e o unlink desfaz a mudança inteira, devolvendo tudo como estava, caso você se arrependa de alguma escolha.

As configurações ficam versionadas dentro do próprio repositório, com o $HOME do usuário apontando pra lá por symlink: editar o .zshrc ou os arquivos do editor mexe direto no repositório, sem passo extra. É o mesmo mecanismo que deixa empacotar tudo num .tar.gz e repassar pra um colega com powerterminal share.

Docker e Podman entram como escolha, não como imposição. O bloco correspondente pergunta qual runtime você quer, ou respeita o que já está instalado, e cuida do resto (grupo de usuário, socket sem privilégio de root) sem deixar pendência solta. Node segue a mesma regra. Nvm ou n, a escolha é sua.

Por que o Neovim é o centro de tudo

Se o PowerTerminal defende uma ideia fixa, é essa: puxar gente pra usar editor de terminal no lugar de IDE gráfica. Uso o Neovim, com o AstroNvim acoplado. E considero, sem exagero nenhum, uma das melhores experiências de edição que existem hoje (sim, é a enésima vez que alguém elogia o Neovim na internet, eu sei). Pode ser modismo de quem já não troca de ferramenta há tempo, mas não acho. É leve. Roda igual num notebook fraco ou num servidor remoto via SSH, sem pedir mouse, sem travar com uma dúzia de abas abertas, moldando-se à necessidade real de quem está do outro lado do teclado. Depois que entendi isso, parei de sentir falta do VS Code ou de qualquer IDE com janela própria.

Ele não é só mais um item entre doze. É o motivo do resto existir. Configurar tudo isso do zero custa tempo. Custa mais que tempo, na real: custa a paciência de quem só queria abrir o editor e escrever código. Boa parte de quem experimenta esse editor desiste antes de a diferença compensar o esforço. Reduzindo esse custo a um comando, a aposta é que mais gente chegue até o ponto em que a curva de aprendizado já valeu a pena.

O código é aberto, sob licença MIT, e é isso ai, boa sorte.