Configurações pessoais de desenvolvimento para Linux/macOS. Scripts automatizados para configurar rapidamente um novo ambiente de desenvolvimento com ZSH, Vim, Tmux, Git, Docker, Zed Editor e mais.
- 🚀 Instalação com um comando: Execute e tenha seu ambiente pronto
- 🔧 Modular: Escolha o que instalar (minimal, standard, full ou custom)
- 🔄 Idempotente: Pode executar múltiplas vezes sem problemas
- 💾 Backups automáticos: Faz backup de configurações existentes
- 🎨 Terminal bonito: Oh-My-Zsh + Powerlevel10k ou Oh-My-Posh (você escolhe)
- 🔤 Fontes modernas: JetBrains Mono Nerd Font com ligatures
- ⚡ Ferramentas modernas: FZF, Ripgrep, ASDF, Zed Editor
Se você já clonou o repositório:
cd ~/Workspace/My/dotfiles
chmod +x bootstrap.sh
./bootstrap.shExecute direto da internet (requer git e curl):
git clone https://github.com/filipecrespodev/dotfiles.git ~/dotfiles
cd ~/dotfiles
chmod +x bootstrap.sh
./bootstrap.shNota: Se encontrar erros relacionados a repositórios durante a instalação, execute primeiro ./fix-repos.sh e depois execute novamente o ./bootstrap.sh.
Quando executar ./bootstrap.sh, você poderá escolher:
- Minimal - Apenas cria symlinks dos dotfiles
- Standard - Pacotes essenciais + ferramentas de desenvolvimento + symlinks
- Full - Instalação completa (recomendado para máquinas novas)
- Custom - Escolha componente por componente
- Homebrew - Package manager universal (macOS e Linux)
- Git, Curl, Wget, ZSH, Vim, Tmux
- Build tools (gcc, make, etc)
- Ripgrep, FZF, Silver Searcher
- JetBrains Mono Nerd Font (com ligatures)
Emulador de Terminal (você escolhe um):
- Alacritty (Recomendado) - GPU-accelerated, ultra rápido, leve
- Kitty - GPU-accelerated, suporte a imagens, split panes nativo
Theme Engine (você escolhe um):
- Oh-My-Zsh + Powerlevel10k (Recomendado) - Stack mais popular e estável com tema altamente customizável
- Oh-My-Posh - Moderno, rápido e cross-platform com configuração em JSON
Editores de Código (opcionais):
- Zed - Editor moderno e ultra-rápido (Recomendado por padrão)
- VSCode - Editor mais popular, extensões ilimitadas
- Cursor - Fork do VSCode com IA integrada (Codex)
- Claude Desktop - Chat AI standalone
Ferramentas incluídas:
- Homebrew - Package manager universal (instalado primeiro)
- ZSH Plugins - syntax-highlighting, autosuggestions, completions
- FZF - Fuzzy finder para navegação rápida
- ASDF - Version manager (Node, Python, Go, etc)
- Flameshot - Ferramenta moderna de screenshot
- Discord - Comunicação e colaboração
- Docker (opcional) - Containerização
.zshrccom aliases e funções úteis.gitconfigcom aliases e configurações Git.vimrccom plugins e temas.tmux.confcom configurações personalizadas- Theme engine configurado (Oh-My-Zsh + Powerlevel10k ou Oh-My-Posh)
- Configurações de terminal (Alacritty, Kitty) com JetBrains Mono Nerd Font
dotfiles/
├── bootstrap.sh # Script principal - execute este!
├── fix-repos.sh # Corrige problemas com repositórios (se necessário)
├── install/ # Scripts de instalação
│ ├── packages.sh # Pacotes do sistema
│ ├── development.sh # Ferramentas de dev
│ ├── fonts.sh # Instalação de fontes
│ └── symlinks.sh # Cria symlinks dos dotfiles
├── config/ # Configurações
│ ├── zsh/ # ZSH, aliases, funções
│ ├── git/ # Git config
│ ├── vim/ # Vim config
│ ├── tmux/ # Tmux config
│ ├── alacritty/ # Alacritty config
│ ├── kitty/ # Kitty config
│ └── themes/ # Temas (oh-my-posh)
├── scripts/ # Scripts utilitários
│ ├── utils.sh # Funções compartilhadas
│ ├── configure-terminal-fonts.sh # Configura fontes nos terminais
│ ├── set-default-terminal.sh # Define terminal padrão do sistema
│ ├── configure-flameshot.sh # Configura Flameshot e atalhos
│ ├── test-print-screen.sh # Testa atalho Print Screen
│ └── test-setup.sh # Verifica instalação completa
└── README.md # Este arquivo
O Homebrew é instalado automaticamente como primeira etapa da instalação. É um package manager universal que funciona tanto em macOS quanto em Linux.
Vantagens:
- ✅ Mesmos comandos em macOS e Linux
- ✅ Pacotes sempre atualizados
- ✅ Fácil instalação de ferramentas de desenvolvimento
- ✅ Gerenciamento centralizado de dependências
Instalação:
- macOS: Instalado em
/opt/homebrewou/usr/local - Linux: Instalado em
/home/linuxbrew/.linuxbrew(Linuxbrew)
Comandos úteis:
brew install <package> # Instala um pacote
brew update # Atualiza lista de pacotes
brew upgrade # Atualiza todos os pacotes
brew search <name> # Busca um pacote
brew list # Lista pacotes instaladosApós a instalação no Linux, o Homebrew é automaticamente configurado no seu .zshrc.
Durante a instalação, você pode escolher entre dois theme engines:
Vantagens:
- ✅ Mais popular e amplamente testado
- ✅ Grande ecossistema de plugins e temas
- ✅ Powerlevel10k é extremamente customizável
- ✅ Configuração interativa com
p10k configure - ✅ Melhor documentação e suporte da comunidade
Ideal para:
- Usuários que querem estabilidade comprovada
- Quem prefere um ecossistema maduro de plugins
- Desenvolvedores que valorizam customização visual avançada
Vantagens:
- ✅ Mais moderno e rápido
- ✅ Cross-platform (mesma config em Windows/macOS/Linux)
- ✅ Configuração via arquivo JSON simples
- ✅ Temas consistentes entre diferentes sistemas
Ideal para:
- Usuários que trabalham em múltiplos sistemas operacionais
- Quem prefere configuração declarativa (JSON)
- Desenvolvedores que valorizam performance e simplicidade
Este dotfiles usa JetBrains Mono Nerd Font com suporte a ligatures, que oferece:
- Ícones e símbolos especiais (Nerd Font)
- Ligatures para melhor legibilidade do código
- Excelente renderização em terminais
- Otimizada para programação
A fonte é instalada automaticamente durante o setup completo, mas você pode instalá-la manualmente:
./install/fonts.shApós instalar a fonte, configure seu terminal:
./scripts/configure-terminal-fonts.shEste script configura automaticamente:
- GNOME Terminal
- Tilix
- Terminator
Para outros terminais, veja as instruções que o script exibe.
Os arquivos de configuração já vêm com a fonte configurada:
- Alacritty:
~/.config/alacritty/alacritty.toml - Kitty:
~/.config/kitty/kitty.conf
Durante a instalação, você pode configurar Alacritty ou Kitty como terminal padrão do sistema. Isso significa que:
- O atalho
Ctrl+Alt+Tabrirá o terminal escolhido - Links e scripts que abrem terminal usarão o terminal configurado
- O comando
x-terminal-emulatorabrirá o terminal padrão
Se quiser mudar o terminal padrão depois:
./scripts/set-default-terminal.shO script detecta automaticamente os terminais instalados e configura:
- update-alternatives (Debian/Ubuntu)
- gsettings (GNOME)
- xdg-mime (padrão universal)
- Atalhos de teclado (GNOME, XFCE)
- ✅ GNOME: Configuração completa (atalho Ctrl+Alt+T)
- ✅ XFCE: Configuração completa
- ✅ KDE: Via update-alternatives (configure atalho manualmente)
- ✅ Outros: Via xdg-mime
Ferramenta moderna e poderosa para captura de tela com anotações.
- 📸 Captura de área, tela inteira ou janela
- ✏️ Anotações (setas, texto, formas, pixelização)
- 📋 Copia automaticamente para clipboard
- 🎨 Tema Catppuccin Mocha (integrado com o terminal)
- ⌨️ Atalhos de teclado configurados
Durante a instalação, os seguintes atalhos são configurados:
Print Screen- Abre GUI do Flameshot (selecionar área)Ctrl+Print Screen- Screenshot da tela inteira (copia para clipboard)Shift+Print Screen- Abre menu de opções
Se quiser reconfigurar ou instalar separadamente:
# Instalar Flameshot
sudo apt-get install flameshot
# Configurar atalhos e preferências
./scripts/configure-flameshot.sh
# Testar se Print Screen está funcionando
./scripts/test-print-screen.shPor padrão, os screenshots são salvos em:
- Diretório:
~/Pictures/Screenshots/ - Configuração:
~/.config/flameshot/flameshot.ini
flameshot gui # Abre interface para captura
flameshot full -c # Captura tela inteira e copia
flameshot screen -n 0 # Captura monitor específico
flameshot launcher # Abre menu de opçõesO Discord é instalado automaticamente durante a instalação Standard/Full para facilitar comunicação e colaboração.
Linux:
- Via Snap (preferencial) - Auto-atualiza automaticamente
- Via .deb oficial (fallback) - Se snap não estiver disponível
macOS:
- Via Homebrew - Instalação simplificada
Se quiser instalar apenas o Discord:
# Linux (via snap)
sudo snap install discord
# Linux (via .deb)
wget -O /tmp/discord.deb "https://discord.com/api/download?platform=linux&format=deb"
sudo apt-get install /tmp/discord.deb
# macOS
brew install --cask discord- 💬 Chat de voz, vídeo e texto
- 🎮 Integração com jogos
- 📺 Compartilhamento de tela
- 🔔 Notificações personalizáveis
- 🤖 Suporte a bots e integrações
Após a instalação, você terá acesso a:
# Editores
z # Abre Zed no diretório atual
c # Abre VSCode no diretório atual
cur # Abre Cursor no diretório atual
claude # Abre Claude Desktop
# Navegação
work # cd ~/Workspace/Work
my # cd ~/Workspace/My
# Git
g # git
gs # git status
ga # git add
gc # git commit
gp # git push
glog # git log bonito
# Docker
d # docker
dc # docker-compose
dps # docker ps
dex # docker exec -it
# Python
vc # Cria virtual environment
va # Ativa virtual environment# Git
git_clean_merged_branches # Limpa branches já mergeadas
gsu # Define upstream automaticamente
gcb <nome> # Cria branch e faz push
# Utilitários
mkcd <dir> # Cria diretório e entra nele
extract <arquivo> # Extrai arquivos compactados
fh # Busca no histórico com fzf
fd # Navega diretórios com fzfDepois de instalar, você pode personalizar:
- Prompt ZSH:
- Powerlevel10k: Execute
p10k configurepara configuração interativa - Oh-My-Posh: Edite
~/config/themes/oh-my-posh.json
- Powerlevel10k: Execute
- Aliases: Edite
~/.aliases.zsh - Funções: Edite
~/.functions.zsh - Git: Edite
~/.gitconfig - Fontes dos terminais: Execute
./scripts/configure-terminal-fonts.sh
Se preferir instalar componentes separadamente:
# Instalar apenas fontes
./install/fonts.sh
# Configurar fontes nos terminais
./scripts/configure-terminal-fonts.sh
# Configurar terminal padrão (Ctrl+Alt+T)
./scripts/set-default-terminal.sh
# Configurar Flameshot
./scripts/configure-flameshot.sh
# Criar apenas symlinks
./install/symlinks.shPara remover os symlinks:
rm ~/.zshrc ~/.gitconfig ~/.vimrc ~/.tmux.conf ~/.tmux.conf.local
rm ~/.aliases.zsh ~/.functions.zsh
rm -rf ~/config/themes- ✅ Ubuntu 20.04+
- ✅ Debian 11+
- ✅ macOS 12+
⚠️ Outras distribuições Linux podem funcionar mas não foram testadas
- Git
- Curl
- Permissões de sudo (para instalar pacotes)
Para verificar se tudo foi instalado corretamente:
./scripts/test-setup.shEste script verifica:
- ✓ ZSH e shell padrão
- ✓ Theme engine (Oh-My-Zsh + Powerlevel10k ou Oh-My-Posh)
- ✓ JetBrains Mono Nerd Font
- ✓ Terminais (Alacritty/Kitty) e configurações
- ✓ Terminal padrão do sistema
- ✓ Flameshot e atalhos configurados
- ✓ Symlinks dos dotfiles
- ✓ Plugins ZSH
- ✓ Ferramentas essenciais
Se você encontrar erros relacionados a repositórios (como PPAs problemáticos):
./fix-repos.shEste script corrige problemas comuns com repositórios e atualiza a lista de pacotes.
chsh -s $(which zsh)Faça logout e login novamente.
Execute o script de instalação de fontes:
./install/fonts.sh
./scripts/configure-terminal-fonts.shDepois reinicie seu terminal.
./scripts/set-default-terminal.shSelecione o terminal desejado e faça logout/login novamente.
# Reconfigure os atalhos
./scripts/configure-flameshot.sh
# Faça logout/login novamenteSe o problema persistir, verifique conflitos:
GNOME:
gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys | grep screenshotXFCE:
xfconf-query -c xfce4-keyboard-shortcuts -l | grep -i printKDE: Vá em System Settings > Shortcuts e verifique se há conflitos com Spectacle.
sudo usermod -aG docker $USERFaça logout e login novamente.
Sinta-se livre para abrir issues ou pull requests com melhorias!
Copyright (c) 2020-present, Filipe Crespo