Scripts interativos para configuração completa de ambiente de desenvolvimento em distribuições baseadas em Ubuntu.
- Visão Geral
- Ferramentas Suportadas
- Instalação Rápida
- Uso Detalhado
- Compatibilidade
- Documentação
- Contribuição
- Licença
Este projeto fornece quatro scripts complementares para configurar um ambiente de desenvolvimento completo:
install.sh- Script master com menu interativogui-apps.sh- Instalador de aplicações gráficasshell-apps.sh- Instalador de ferramentas de terminalssh-git-setup.sh- Configurador SSH + Git com múltiplas identidadesnerdfonts-install.sh- Instalador dedicado de Nerd Fonts
- 🎯 100% Interativo - você escolhe o que instalar
- 🐧 Multi-distro - Ubuntu, Zorin OS, Linux Mint, WSL
- 📊 Logs detalhados de instalação
- 🔄 Detecção automática de ferramentas já instaladas
- 🛡️ Tratamento robusto de erros
- 🎨 Interface colorida e intuitiva
- 🧹 Limpeza automática de arquivos temporários
Editores:
- Visual Studio Code
- Cursor AI Editor
Navegadores:
- Google Chrome
Terminais:
- Warp Terminal (AI Terminal)
Comunicação:
- Discord
- Slack
Mídia:
- Spotify
Desenvolvimento:
- Postman (API Testing)
- DBeaver CE (Database Manager)
- Podman Desktop (Container Manager)
Utilitários:
- 1Password Desktop
- Termius SSH Client
Fontes:
- Nerd Fonts (FiraCode, JetBrains Mono, etc.)
Runtime & Gerenciadores:
- Volta + Node.js LTS + Yarn
- PHP 8.3 CLI + Composer
- Python3 + pip3 + ferramentas
Containers & Deploy:
- Docker Engine + Docker Compose
- Lando (desenvolvimento local)
Kubernetes & Infrastructure:
- kubectl + kubectx/kubens
- Terraform
Cloud & APIs:
- AWS CLI v2
- GitHub CLI
Segurança:
- 1Password CLI
Zsh + Oh My Zsh:
- Zsh shell com framework Oh My Zsh
- Powerlevel10k theme (rápido e customizável)
- Plugins essenciais de produtividade
Plugins Inclusos:
- zsh-autosuggestions (sugestões automáticas)
- zsh-syntax-highlighting (destaque de sintaxe)
- git, docker, kubectl, yarn, npm, composer, aws, terraform
Integração Inteligente:
- Importa variáveis essenciais do ~/.bashrc
- Mantém compatibilidade com ferramentas existentes
- Configuração otimizada para desenvolvimento
SSH + 1Password:
- Configuração SSH básica com 1Password Agent
- Integração automática com chaves SSH
Git Global:
- Configuração global (nome, email, etc.)
- Configurações básicas (branch, push, editor)
Múltiplas Identidades:
- Hosts SSH customizados (github-empresa, gitlab-empresa)
- Configuração Git condicional por diretório
- Suporte a múltiplas chaves SSH
# Baixar e executar script master
curl -fsSL https://raw.githubusercontent.com/lgobatto/dev-environment-setup/main/install.sh | bash# Clonar repositório
git clone https://github.com/lgobatto/dev-environment-setup.git
cd dev-environment-setup
# Executar script master (menu interativo)
./install.sh
# OU executar scripts individuais
./gui-apps.sh # Aplicações gráficas
./shell-apps.sh # Ferramentas de terminal
./ssh-git-setup.sh # SSH + Git config# Apps GUI
curl -fsSL https://raw.githubusercontent.com/lgobatto/dev-environment-setup/main/gui-apps.sh | bash
# Apps Shell
curl -fsSL https://raw.githubusercontent.com/lgobatto/dev-environment-setup/main/shell-apps.sh | bash
# SSH + Git
curl -fsSL https://raw.githubusercontent.com/lgobatto/dev-environment-setup/main/ssh-git-setup.sh | bashO script master oferece um menu interativo para executar os instaladores especializados:
./install.shOpções do menu:
- 🗺️ Apps GUI - Aplicações gráficas
- ⚡ Apps Shell - Ferramentas de terminal
- 🔧 SSH + Git - Configuração e identidades
- 🚀 Instalar Tudo - Executar todos os scripts
- ❌ Sair
Recursos:
- ✅ Detecção automática do sistema
- ✅ Status dos scripts disponíveis
- ✅ Execução inteligente (pula GUI no WSL)
- ✅ Interface limpa com clear entre operações
Instala aplicações gráficas essenciais:
./gui-apps.shFluxo de instalação:
- 🔍 Detecção do sistema
- 📦 Instalação de dependências GUI
- 🎯 Menu interativo para cada app
- 📊 Resumo final
Recursos avançados:
- ✅ Pula no WSL automaticamente
- ✅ Verifica apps já instalados
- ✅ Logs em
/tmp/gui-apps-installer-*.log
Instala ferramentas de linha de comando e desenvolvimento:
./shell-apps.shFluxo de instalação:
- 🔍 Detecção do sistema
- 📦 Dependências básicas (curl, wget, git, etc.)
- ⚡ Runtimes (Node.js, PHP, Python)
- 🐳 Containers (Docker, Lando)
- ☁️ Cloud tools (AWS CLI, Terraform)
- 🐚 Shell (Zsh + Oh My Zsh)
Recursos:
- ✅ Logs em
/tmp/shell-apps-installer-*.log - ✅ Configuração automática de ambientes
- ✅ Integração entre ferramentas (Volta + Node)
Configura SSH, Git e múltiplas identidades:
./ssh-git-setup.shFluxo de configuração:
- 🔐 SSH + 1Password integration
- 🔧 Configuração Git global
- 🏢 Setup de múltiplas identidades
- ✅ Testes de conectividade
Exemplo de uso após configuração:
# Projeto pessoal (credenciais padrão)
git clone git@github.com:username/repo.git
# Projeto empresarial (credenciais específicas)
cd ~/work/empresa/
git clone git@github-empresa:org/repo.git- ✅ Ubuntu (20.04, 22.04, 24.04)
- ✅ Zorin OS (16, 17)
- ✅ Linux Mint (20, 21)
- ✅ Pop!_OS (20.04, 22.04)
- ✅ Elementary OS (6.x, 7.x)
- ✅ WSL (Windows Subsystem for Linux)
- 🐧 Sistema baseado em Ubuntu/Debian
- 👤 Usuário com privilégios sudo
- 🌐 Conexão com internet
- 📦
curlouwget(instalado automaticamente)
- ❌ Podman Desktop (interface gráfica)
- ❌ Aplicações GUI em geral
- ✅ Todos os outros tools funcionam perfeitamente
O script configura automaticamente:
# ~/.ssh/config
Host *
IdentityAgent ~/.1password/agent.sock
AddKeysToAgent yes
# Hosts customizados
Host github-empresa
HostName github.com
User git
IdentitiesOnly yesConfiguração automática baseada em diretório:
# ~/.gitconfig
[includeIf "gitdir:~/work/empresa/"]
path = ~/.config/git/config-empresa~/work/
├── personal/ # Projetos pessoais
│ └── my-project/
└── empresa/ # Projetos da empresa
└── company-project/
Os scripts geram logs detalhados:
# Log do instalador principal
tail -f /tmp/dev-installer-*.log
# Verificar instalações
which code volta docker aws kubectlVocê pode modificar os scripts para:
- ✏️ Adicionar novas ferramentas
- ⚙️ Alterar configurações padrão
- 🎨 Customizar interface
- 📁 Mudar estrutura de diretórios
# Verificar versões instaladas
./install.sh --version # (futuro)
# Testar configuração Git
git config --list --show-origin
# Testar SSH
ssh -T git@github.com
ssh -T git@github-empresaContribuições são bem-vindas! Por favor:
- 🍴 Faça um fork do projeto
- 🌿 Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - 📝 Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - 📤 Push para a branch (
git push origin feature/AmazingFeature) - 🔄 Abra um Pull Request
- ✅ Mantenha compatibilidade com distribuições suportadas
- ✅ Adicione tratamento de erros
- ✅ Documente novas features
- ✅ Teste em ambiente limpo
- 🔄 Docker: Necessário logout/login após instalação para usar sem sudo
- 🔐 1Password: SSH Agent precisa ser configurado manualmente no app
- 🎨 Nerd Fonts: Aplicações podem precisar ser reiniciadas
- Suporte para Arch Linux
- Configuração de IDEs adicionais
- Template de dotfiles
- Scripts de backup/restore
- GUI opcional com dialog/whiptail
Desenvolvido por Leonardo Gobatto (@lgobatto)
Baseado em sessão de configuração de ambiente de desenvolvimento com assistente IA.
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.