Otimizando meu Macbook para Desenvolvimento
ProgramaçãoEsse post é o meu First Things To Do quando pego um Mac novo ou faço um clean install. Meu melhor setup da última semana.

Todo ano é a mesma coisa. A Apple anuncia uma nova versão do macOS – este ano, o macOS 26 – e, em vez de simplesmente clicar em "Atualizar", eu sigo um ritual que muitos considerariam uma perda de tempo monumental: eu formato tudo. Faço uma instalação limpa, um clean install. Por quê? Porque depois de mais de duas décadas desenvolvendo software, aprendi que a clareza de um sistema zerado é a melhor forma de entender o que realmente mudou, de avaliar as novidades sem o viés das minhas configurações antigas e, principalmente, de me forçar a justificar cada ferramenta que trago de volta para o meu ambiente.
Ao longo desses anos, meu jeito de programar e de configurar minhas ferramentas mudou drasticamente. Estou sempre de olho no que há de novo, no que as pessoas estão usando, mas mantenho com firmeza aquilo que funciona para mim. Meu setup atual é o reflexo dessa jornada: uma busca incansável por foco e eficiência, eliminando tudo o que é supérfluo.
Minha máquina atual é um MacBook Pro de 16 polegadas com o chip M4 Max e 128 GB de RAM. Mas o mais interessante não é o hardware, e sim como eu o utilizo. Abandonei a era das múltiplas telas. Antigamente, eu achava que ter dois ou três monitores era o auge da produtividade. Hoje, vejo que era o auge da distração. Notificações, janelas, informações periféricas competindo pela minha atenção. A mudança foi drástica: hoje, o MacBook fica de tampa fechada, conectado a um único monitor 4K, o Samsung M8 32". Eu trabalho com uma janela semi-maximizada de cada vez. Minha produtividade e meu foco melhoraram 50%
Então, se você está curioso para saber como um engenheiro de software veterano configura sua principal ferramenta de trabalho do zero, pegue um café. Este é o meu passo a passo, focado não em deixar o sistema "bonitinho", mas em construir uma máquina de entregar código.
O terminal primeiro
Antes de instalar qualquer navegador ou IDE, a primeira coisa que configuro é o Terminal. É a minha base de operações. Durante anos, usei o Terminal nativo do macOS e ele sempre deu conta do recado. A verdade é que o mais importante é entregar código, não ficar customizando o janelas com firulas infinitas. Este ano, até dei uma chance para o famoso Ghostty. É bom, hypado, mas no fim do dia, não me trouxe vantagens que justificassem abandonar a simplicidade e a confiabilidade do terminal padrão. Voltei para ele.
Meu processo para deixar o terminal pronto para o trabalho é o seguinte:
1. Homebrew
Se você usa um Mac para desenvolvimento e não conhece o Homebrew, pare tudo e instale-o agora. Ele é um gerenciador de pacotes para macOS (e Linux) que simplifica a instalação de praticamente qualquer software ou ferramenta de linha de comando que você possa imaginar. Em vez de baixar arquivos .dmg
, arrastar para a pasta de Aplicativos ou compilar código-fonte, você simplesmente roda um comando.
Para instalar o Homebrew, abra o Terminal e cole o seguinte comando:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Com o Homebrew instalado, o mundo se abre. A partir daqui, a instalação de 90% das minhas ferramentas será através dele.
2. Ferramentas essenciais via Brew
Com o brew
pronto, começo a instalar os pacotes fundamentais que uso no dia a dia.
brew install git python node alt-tab
- Git: Essencial para controle de versão. Dãh! Não há desenvolvimento moderno sem Git. Mesmo trabalhando sozinho em projetos, o versionamento é crucial para manter a sanidade.
- Python & Node.js: São as linguagens e runtimes com os quais trabalho com mais frequência. Instalar via Homebrew garante que eu tenha as versões mais recentes e que seja fácil alternar entre elas se necessário.
- Alt-Tab: Este é um pequeno utilitário que considero obrigatório. Ele traz a funcionalidade clássica de
Alt+Tab
do Windows para o macOS, mostrando uma prévia de todas as janelas abertas, e não apenas dos aplicativos agrupados como oCommand+Tab
nativo faz. Para quem trabalha com múltiplas janelas do mesmo aplicativo (vários projetos no Code, por exemplo), isso é um salva-vidas.
3. Melhorando a experiência no shell
Embora eu não goste de firulas, algumas melhorias de qualidade de vida no terminal são inegociáveis.
- Nushell (
brew install nushell
): Embora o Zsh seja meu shell padrão, eu instalo o Nushell por uma razão específica: sua habilidade de lidar com dados estruturados. Quando preciso inspecionar um CSV, JSON ou qualquer saída de comando que possa ser representada como uma tabela, o Nushell apresenta isso de uma forma incrivelmente legível e interativa diretamente no terminal. É uma ferramenta fantástica para exploração de dados sem precisar abrir uma aplicação externa. - Tmux (
brew install tmux
): Vou ser honesto: eu instalo o Tmux, mas raramente o uso. Ele é um multiplexador de terminal, permitindo que você tenha múltiplas sessões, painéis e janelas dentro de uma única janela do terminal, e que essas sessões persistam mesmo que você feche o terminal. É extremamente poderoso, mas no meu fluxo de trabalho atual de "uma coisa de cada vez", acabo não precisando dele com frequência. Mesmo assim, mantenho-o instalado para aquelas raras ocasiões.
4. Plugins zsh para produtividade
O Zsh é ótimo, mas fica ainda melhor com dois plugins que considero essenciais:
zsh-syntax-highlighting: Este destaca a sintaxe dos comandos que você digita em tempo real. Comandos válidos ficam verdes, inválidos ficam vermelhos, strings ficam amarelas. Isso ajuda a pegar erros de sintaxe antes de você pressionar Enter, o que é especialmente útil para comandos longos ou scripts de uma linha.
brew install zsh-syntax-highlighting
Adicione essa linha abaixo no final do arquivo, rodando:
echo "source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc
Recarregue o terminal ou simplesmente rode:
source ~/.zshrc
zsh-autosuggestions: Este plugin é mágico. Ele sugere comandos enquanto você digita, com base no seu histórico. Se você já digitou um comando longo e complexo antes, basta começar a digitar as primeiras letras e ele aparecerá em cinza claro. Pressionar a seta para a direita completa o comando. Isso economiza um tempo absurdo e reduz erros de digitação.
brew install zsh-autosuggestions
Adicione essa linha abaixo no final do arquivo, rodando:
echo "source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ~/.zshrc
Novamente recarregue o terminal ou rode:
source ~/.zshrc
5. Customização Visual Mínima e Funcional
Meu terminal não tem tema "Drácula", "Solarized" ou "Capuccino". Como eu disse, o foco é entregar código. Minhas customizações são puramente funcionais.
- Aparência: Uso um fundo ligeiramente translúcido, apenas o suficiente para dar uma noção do que está por trás sem distrair. A fonte é um pouco maior, porque com a idade e o astigmatismo, forçar a vista para ler letras minúsculas é uma receita para dor de cabeça.
Fonte: Eu uso a Hack Nerd Font. As "Nerd Fonts" são famílias de fontes populares de programação que foram corrigidas para incluir um grande número de ícones e glifos. Isso é útil porque algumas ferramentas de linha de comando (como lsd
ou temas de prompt) usam esses ícones para diferenciar tipos de arquivos visualmente, tornando a listagem de diretórios mais informativa.
brew install --cask font-hack-nerd-font
E é isso. Meu terminal está pronto. Funcional, rápido e sem distrações.

O ambiente de trabalho:
Com o terminal pronto, passo para alguns ajustes no próprio sistema operacional para otimizar meu fluxo.
Dock
O Dock do macOS pode ser um grande inimigo do foco. A primeira coisa que faço é remover todos os ícones de aplicativos que não uso constantemente. Depois, eu o configuro para ficar sempre oculto. Por quê? Por causa dos malditos selos de notificação. Aquele ponto vermelho gritando que há e-mails não lidos ou mensagens esperando é uma isca de distração que eu simplesmente não permito.
No entanto, o comportamento padrão do Dock oculto me irrita profundamente: aquele pequeno atraso, de talvez 1 segundo a 1,5 segundos, entre mover o mouse para a borda da tela e o Dock aparecer. Esse delay quebra o fluxo. Felizmente, um simples comando no terminal resolve isso:
defaults write com.apple.dock autohide-delay -float 0; killall Dock
Este comando define o atraso para zero. O Dock agora aparece instantaneamente, mas mantendo a animação smooth do surgimento. É uma mudança pequena, mas que faz uma diferença enorme na fluidez do uso. Caso você se arrependa, o comando para reverter é igualmente simples:
defaults delete com.apple.dock autohide-delay; killall Dock
Time Machine e Arquivos
Este é um passo mais braçal. Conecto meu HD externo com o backup do Time Machine e restauro minha pasta de usuário. Embora a maioria dos meus arquivos importantes esteja na nuvem, tenho dezenas de gigabytes de projetos, documentos e outros arquivos locais. Esperar tudo isso baixar da nuvem levaria horas. A restauração via Time Machine é muito mais rápida.
Agora os aplicativos
Com o ambiente base configurado, é hora de instalar os aplicativos onde a mágica realmente acontece.
Código e IDE: Cursor
Durante anos, fui um usuário fiel do PyCharm e VS Code. No entanto, há alguns meses migrei para o Cursor. Para quem não conhece, o Cursor é essencialmente um fork do VS Code, o que significa que ele tem a mesma interface, suporta as mesmas extensões e temas. A grande diferença é sua integração nativa e profunda com IA. Em vez de eu ter que gerenciar chaves de API para o GitHub Copilot, para a API da OpenAI, etc., eu pago uma única assinatura do Cursor e tenho acesso a múltiplos modelos de IA (GPT-5, Claude 4, etc.) diretamente no editor. Posso selecionar um trecho de código e fazer perguntas, pedir para refatorar, gerar testes... tudo de forma fluida. Futuramente, posso fazer um post detalhado sobre minhas configurações e extensões no Cursor.
GPT-OSS
Uma novidade no meu setup deste ano, e que na verdade é a principal justificativa para o investimento pesado no hardware, é a exploração de modelos de linguagem de código aberto rodando localmente. Desta vez, instalei o GPT-OSS, um dos maiores modelos disponíveis, para poder rodar minhas próprias análises, refatorar código e fazer experimentos sem depender de nenhuma API externa. Devo ser claro: ainda estou em fase de testes, sentindo o potencial da ferramenta, então minha opinião ainda não está cravada em pedra. A ideia é ter um assistente poderoso que opere com latência zero e com a privacidade absoluta de que meus dados e meu código nunca saiam da minha máquina.
E é exatamente aqui que o investimento em um MacBook Pro M4 Max com 128 GB de RAM se paga. Eu não teria comprado a máquina mais robusta disponível no mercado se não fosse com o objetivo de usar toda a sua potência para algo que, até pouco tempo, era exclusivo de datacenters. Rodar um modelo de linguagem dessa magnitude exige uma quantidade colossal de memória e poder de processamento. Essa configuração me permite não apenas rodar o modelo, mas fazer isso de forma fluida, integrando-o ao meu fluxo de trabalho sem que o resto do sistema engasgue. É a busca pela soberania computacional: ter o poder da IA na ponta dos dedos, sem pedir permissão e sem pagar por minuto.
O processo de configuração não é trivial, e os resultados ainda variam. Tenho usado para gerar documentação complexa, criar scripts de automação e até para me ajudar a debugar lógica. A velocidade de resposta é impressionante quando comparada à ida e vinda de uma requisição pela internet. Se essa experimentação se provar tão produtiva quanto promete, talvez em alguns meses ela renda um post próprio, detalhando os desafios e as vitórias de se ter um copiloto de IA 100% local.
Banco de Dados: DBeaver Community
Para gerenciamento de banco de dados, não preciso de nada sofisticado. O DBeaver Community Edition é a ferramenta perfeita. É um cliente de banco de dados universal, gratuito e de código aberto. Ele se conecta a praticamente qualquer banco de dados que você possa imaginar (PostgreSQL, MySQL, SQLite, SQL Server, etc.). A interface é robusta, permite que eu escreva queries, visualize esquemas, edite dados e gerencie conexões sem nenhum problema. Para as minhas necessidades, a versão community é mais do que suficiente.
Navegadores: são 3
Eu não uso um, mas três navegadores, cada um com um propósito bem definido para evitar a mistura de contextos:
- Safari: É o navegador padrão para minhas atividades pessoais. Contas de e-mail pessoais, redes sociais, compras online. Ele é otimizado para o ecossistema da Apple, eficiente em termos de bateria e sincroniza perfeitamente com meu iPhone e iPad.
- Brave: Este é meu navegador de trabalho. Todas as contas, sistemas e documentações da empresa onde trabalho vivem aqui. O Brave tem um foco forte em privacidade e bloqueio de rastreadores, o que é um bônus. Manter o trabalho isolado aqui me ajuda a "desligar" no final do dia, simplesmente fechando o navegador.
- Arc: O Arc é para meus projetos paralelos, estudos e pesquisas. É um navegador com uma abordagem de interface bem diferente e inovadora, focado em organização de abas e espaços de trabalho. Acho perfeito para gerenciar múltiplos projetos de pesquisa ou desenvolvimento pessoal, onde preciso manter grupos de abas relacionados a diferentes tópicos.
Alguém pode pensar que ter dezenas de abas abertas em cada um deles seria um problema. Mas os navegadores modernos gerenciam memória de forma muito inteligente, e com 128 GB de RAM, abas de navegador são a menor das minhas preocupações.
Anotações e organização: Apple Notes
Já tentei Notion, Obsidian e uma dúzia de outros. No final, voltei para o mais simples e integrado: o Apple Notes. A razão é puramente o ecossistema. Faço uma anotação rápida no iPhone, ela aparece instantaneamente no Mac. Esboço uma ideia no iPad com o Apple Pencil, e ela está lá. Essa sincronização transparente e confiável supera qualquer funcionalidade avançada que os outros aplicativos possam oferecer para o meu caso de uso.
Utilitários que fazem a diferença
Além das grandes ferramentas, alguns pequenos utilitários aprimoram enormemente meu fluxo de trabalho.
- CleanShot X: Este é, de longe, o melhor aplicativo de captura de tela para Mac. A ferramenta nativa é boa, mas o CleanShot X está em outro nível. Com atalhos de teclado, posso capturar uma área, uma janela, a tela inteira, ou até mesmo fazer uma captura com rolagem. O mais importante é o que acontece depois: uma pequena janela flutuante aparece, permitindo que eu anote a imagem (setas, texto, blur para ofuscar informações sensíveis) antes de salvá-la. Ele também grava a tela em vídeo ou GIF e pode fazer o upload automático para a nuvem deles, gerando um link compartilhável. Eu tenho a versão paga vitalícia e vale cada centavo.
- Clop: Este é o "casamento perfeito" com o CleanShot X. O Clop é um otimizador de arquivos que roda em segundo plano. Eu configuro para ele monitorar minhas pastas de Downloads e da Mesa. Sempre que um novo arquivo de imagem ou vídeo é salvo nessas pastas, o Clop o comprime automaticamente, sem perda de qualidade perceptível. Como trabalho com um monitor 4K, minhas capturas de tela podem ser pesadas. O Clop garante que elas fiquem com um tamanho razoável, o que é ótimo para enviar em plataformas que têm limite de tamanho de arquivo. Também tenho a versão Pro vitalícia, que paguei uns 10 dólares na época e já se pagou inúmeras vezes.
- Open Ports: Um utilitário gratuito e genial para desenvolvedores. Ele adiciona um pequeno ícone na barra de menus que, ao ser clicado, mostra uma lista de todas as portas de rede que estão sendo usadas no seu computador e qual aplicativo as está usando. Chega de rodar
lsof -i :<porta>
no terminal para descobrir por que sua aplicação não consegue iniciar na porta 3000. Com o Open Ports, a resposta está a um clique de distância.
As ferramentas que ficaram pelo caminho
Parte de um setup maduro é saber o que não instalar.
- Raycast: Eu era um grande fã do Raycast. Ele é um lançador de aplicativos superpoderoso que substitui o Spotlight e adiciona um ecossistema de extensões incrível. No entanto, com o novo macOS 26, a Apple melhorou tanto o Spotlight que ele agora faz 90% do que eu usava no Raycast. Para o que faltava, percebi que não era essencial. Decidi, em nome do minimalismo, não instalá-lo desta vez.
- Alcove: Um aplicativo muito bonito e inteligente que dava uma utilidade para a Ilha Dinâmica (o recorte preto na parte superior da tela do MacBook). Ele criava uma área onde você podia arrastar arquivos temporariamente. Era ótimo quando eu trabalhava diretamente na tela do notebook. Agora, com o notebook fechado, ele se tornou inútil para mim.
Finalmente: Docker Desktop
Por fim, eu instalo o Docker Desktop. E sim, eu o considero uma bela de uma porcaria no Mac. É pesado, consome recursos e, na minha opinião, representa uma camada de complexidade que, muitas vezes, é desnecessária. Sou da velha guarda, que prefere a simplicidade de um deploy direto.
Entendo que a containerização resolve muitos problemas em ambientes de equipe e produção, mas no dia a dia do desenvolvimento, sinto que ela mais atrapalha do que ajuda. Como discuti no meu último post sobre a palestra de David Heinemeier Hansson (DHH), nós adicionamos tantas camadas de abstração ao processo de desenvolvimento que criamos novas profissões apenas para colocar código no ar. O Docker, para mim, é um sintoma disso. Sou obrigado a usá-lo em projetos de trabalho, então ele está aqui. Mas se a escolha fosse minha, ele não estaria.
E é isso
Com o terminal configurado, o sistema ajustado e os aplicativos essenciais instalados, o Mac está pronto. Não há ícones desnecessários, papéis de parede animados ou widgets piscando. É um ambiente de trabalho sóbrio, rápido e otimizado para uma única coisa: me permitir focar no que eu faço de melhor, que é construir software.
Este setup é o resultado de anos de experimentação, de tentativa e erro. Ele funciona para mim, mas pode não funcionar para você. O importante é ser intencional sobre cada ferramenta que você usa. Pergunte-se: "Isso remove atrito ou adiciona complexidade?". Para mim, a resposta a essa pergunta moldou cada escolha que descrevi aqui.
E você? Qual é a ferramenta ou configuração indispensável no seu dia a dia? Deixe sua opinião nos comentários.
Comments