Por que Linux para desenvolvimento
Desenvolver em Linux não é apenas preferência — é eficiência. O mesmo ambiente de produção, ferramentas nativas sem camada de compatibilidade e controle total sobre o sistema.
A base: Arch Linux
Arch Linux tem reputação de difícil, mas depois da instalação inicial, o rolling release significa que você nunca precisa reinstalar. O AUR tem qualquer ferramenta que você precisar. E o wiki do Arch é a melhor documentação de Linux que existe.
- Kernel: linux-zen (menor latência para workloads interativos)
- WM: Hyprland (Wayland nativo, animações fluidas, config em Lua)
- Terminal: kitty (GPU-accelerated, suporte a imagens inline)
- Shell: zsh + starship prompt
- Launcher: rofi-wayland
Editor: Neovim com LazyVim
Troquei VS Code por Neovim há dois anos. A curva de aprendizado é real, mas a velocidade de edição depois que você internaliza os movimentos compensa. LazyVim como base elimina a configuração inicial dolorosa.
-- ~/.config/nvim/lua/plugins/lsp.lua
return {
{
"neovim/nvim-lspconfig",
opts = {
servers = {
ts_ls = {}, -- TypeScript/JavaScript
pyright = {}, -- Python
rust_analyzer = {}, -- Rust
tailwindcss = {}, -- Tailwind CSS
},
},
},
}Multiplexer: tmux
tmux transforma um terminal em um ambiente de desenvolvimento completo. Sessions persistentes, panes para editor/tests/git simultâneos, e o trabalho sobrevive a desconexões SSH.
# Layout típico de trabalho
# ┌─────────────────┬──────────┐
# │ │ git │
# │ nvim ├──────────┤
# │ │ tests │
# ├─────────────────┴──────────┤
# │ terminal │
# └────────────────────────────┘
tmux new-session -d -s work
tmux send-keys "nvim ." Enter
tmux split-window -h -p 30
tmux send-keys "git status" Enter
tmux split-window -v
tmux send-keys "pnpm test" EnterFerramentas CLI que uso todo dia
- fd — substituto do find, mais rápido e syntax mais humana
- ripgrep (rg) — grep turbinado, respeita .gitignore automaticamente
- bat — cat com syntax highlight e numeração de linhas
- eza — ls com cores, ícones e git status integrado
- delta — diff colorido para git (substitui o diff padrão)
- zoxide — cd inteligente que aprende seus diretórios frequentes
- lazygit — TUI para git, elimina 80% dos comandos git manuais
Instale tudo via pacman/AUR ou cargo. Ferramentas em Rust (fd, ripgrep, bat, eza, delta, zoxide) são especialmente rápidas.