Voltar ao Blog
    DevOps & Linux

    Linux Como Plataforma de Dev: Meu Setup em 2025

    Arch Linux, Neovim, tmux e as ferramentas que transformaram minha produtividade como desenvolvedor.

    Publicado em ·8 min de leitura·por Bernardo Gomes

    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.

    lua
    -- ~/.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.

    bash
    # 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" Enter

    Ferramentas 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.