Script completo e automatizado para configurar ambiente de desenvolvimento em Ubuntu/Xubuntu/Linux Mint
- Sobre
- Características
- Instalação Rápida
- O que é instalado
- Uso
- Documentação
- Estrutura do Projeto
- FAQ
- Contribuindo
- Licença
Este script automatiza a configuração completa de um ambiente de desenvolvimento moderno para Ubuntu/Xubuntu/Linux Mint, incluindo:
- Terminal customizado (ZSH + Oh My ZSH + Powerlevel10k)
- Ferramentas de containerização (Docker)
- IDEs e editores (VS Code)
- Navegadores (Google Chrome)
- Ferramentas de banco de dados (DBeaver, PostgreSQL)
- Ecossistema Node.js completo (pnpm, yarn, TypeScript, NestJS, Prisma)
- Configurações personalizadas (.gitconfig, .p10k.zsh)
Universal: Detecta automaticamente sua distribuição Linux (Ubuntu, Xubuntu ou Linux Mint). Idempotente: Pode ser executado múltiplas vezes sem problemas.
- ✅ Totalmente automatizado - Uma linha de comando e pronto
- ✅ Idempotente - Detecta ferramentas já instaladas
- ✅ Backups automáticos - Preserva configurações existentes
- ✅ Configurações personalizadas - Baixa seus dotfiles do GitHub
- ✅ Output colorido - Interface amigável com cores e status
- ✅ Portátil - Funciona em qualquer Xubuntu/Ubuntu formatado
- ✅ Bem documentado - Documentação completa incluída
- ✅ Ubuntu 24.04+ LTS
- ✅ Xubuntu 24.04+ LTS
- ✅ Linux Mint 21+ (Virginia, Vera, etc)
- ✅ Kubuntu 24.04+ LTS
⚠️ Outras distros baseadas em Ubuntu podem funcionar
O script detecta automaticamente sua distribuição e se adapta conforme necessário.
npx @mariopaglia/linux-dev-setupOu se preferir instalar globalmente:
npm install -g @mariopaglia/linux-dev-setup
linux-dev-setupcurl -fsSL https://raw.githubusercontent.com/mariopaglia/linux-dev-setup/main/xubuntu-dev-setup.sh | bash# Download
curl -fsSL https://raw.githubusercontent.com/mariopaglia/linux-dev-setup/main/xubuntu-dev-setup.sh -o setup.sh
# Revisar
less setup.sh
# Executar
bash setup.shgit clone https://github.com/mariopaglia/linux-dev-setup.git
cd linux-dev-setup
bash xubuntu-dev-setup.sh- ZSH - Shell moderno e poderoso
- Oh My ZSH - Framework para gerenciar configurações ZSH
- Powerlevel10k - Tema elegante e rápido
- Plugins: zsh-autosuggestions, zsh-syntax-highlighting
- Docker + Docker Compose - Containerização
- VS Code - Editor de código
- DBeaver Community - Cliente universal de banco de dados
- PostgreSQL - Banco de dados (via Docker)
- pnpm - Gerenciador de pacotes rápido
- yarn - Gerenciador de pacotes alternativo
- TypeScript - JavaScript tipado
- NestJS CLI - Framework Node.js progressivo
- Prisma - ORM moderno
- create-next-app - Scaffold para Next.js
- Google Chrome - Navegador web
- .gitconfig - Suas configurações Git
- .p10k.zsh - Configuração Powerlevel10k
- .zshrc.custom - Aliases e PATH customizados
- docker-compose.yml - PostgreSQL pronto para uso
- Git:
gs,ga,gp,gc,gl - Docker:
dps,dcup,dcdown,dclogs - PostgreSQL:
pgstart,pgstop,pgcli,pglogs - NPM:
ni,nr,ns,nt,nb - Navegação:
proj,ll,c
-
Fazer logout/login (OBRIGATÓRIO)
logout -
Verificar instalações
bash ~/verify-installations.sh -
Iniciar PostgreSQL
pgstart # ou cd ~/projetos && docker compose up -d
-
Conectar ao PostgreSQL
pgcli # ou docker exec -it postgres-dev psql -U postgres
- Host: localhost
- Porta: 5432
- Usuário: postgres
- Senha: postgres
- Database: dev
O projeto inclui documentação completa na pasta docs/:
- COMECE-AQUI.txt - Início visual com todas as informações
- QUICK-START.md - Guia de início rápido
- README-XUBUNTU-SETUP.md - Documentação completa
- COMO-USAR-EM-OUTRO-PC.md - Como distribuir o script
- RESUMO-FINAL.md - Resumo de tudo
xubuntu-dev-setup/
├── README.md # Este arquivo
├── xubuntu-dev-setup.sh # Script principal (548 linhas)
├── verify-installations.sh # Script de verificação
├── LICENSE # Licença MIT
├── .gitignore # Arquivos ignorados
└── docs/ # Documentação
├── COMECE-AQUI.txt # Início visual
├── QUICK-START.md # Guia rápido
├── README-XUBUNTU-SETUP.md # Documentação completa
├── COMO-USAR-EM-OUTRO-PC.md # Guia de distribuição
└── RESUMO-FINAL.md # Resumo completo
Edite as URLs no início do script xubuntu-dev-setup.sh:
# Linha ~17-18
GITCONFIG_URL="https://gist.githubusercontent.com/SEU_USUARIO/HASH/raw/.gitconfig"
P10K_URL="https://gist.githubusercontent.com/SEU_USUARIO/HASH/raw/.p10k.zsh"O script está organizado em seções numeradas. Para:
- Adicionar: Crie uma nova seção seguindo o padrão existente
- Remover: Comente ou delete a seção correspondente
Edite a seção que cria .zshrc.custom (por volta da linha 200).
Sim! O script:
- Usa apenas repositórios oficiais
- Verifica chaves GPG
- Não contém senhas hardcoded
- Cria backups antes de sobrescrever arquivos
- Todo o código é open-source e pode ser revisado
Sim! O script é idempotente. Ele detecta ferramentas já instaladas e pula essas etapas.
Sim! Testado em:
- ✅ Xubuntu 24.04 LTS
- ✅ Ubuntu 24.04 LTS
- ✅ Kubuntu 24.04 LTS
- ✅ Linux Mint 21+ (Virginia, Vera, etc)
O script detecta automaticamente a distribuição e se adapta conforme necessário.
Simplesmente re-execute o script. Ele:
- Fará backup dos arquivos atuais
- Baixará as versões mais recentes dos seus gists
- Aplicará as novas configurações
Você fez logout/login? Isso é necessário para aplicar o grupo docker.
# Verificar
groups | grep docker
# Se não aparecer
sudo usermod -aG docker $USER
# Fazer logout/login novamenteContribuições são bem-vindas! Sinta-se à vontade para:
- Fazer fork do projeto
- Criar 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) - Abrir um Pull Request
Se você quiser publicar sua própria versão no NPM:
- Criar conta no npmjs.com
- Login via terminal:
npm login
- Atualizar o nome do pacote no
package.json:{ "name": "@SEU_USUARIO/linux-dev-setup", ... } - Publicar:
npm publish --access public
- ✅ Suporte a múltiplas distribuições (Ubuntu/Xubuntu/Linux Mint)
- ✅ Detecção automática de distribuição
- ✅ Instalação via NPX
- ✅ DBeaver com suporte Snap/Flatpak
- ✅ Docker adaptado para Linux Mint
- ✅ Estrutura NPM completa
- ✅ Script de teste de detecção
- ✅ Script completamente reescrito
- ✅ Detecção inteligente de ferramentas instaladas
- ✅ Backups automáticos
- ✅ Output colorido
- ✅ Download automático de dotfiles
- ✅ Documentação completa
- ✅ Versão inicial
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
Mario Paglia
- GitHub: @mariopaglia
- Email: mpagliajr@gmail.com
- Oh My ZSH
- Powerlevel10k
- Docker
- Claude Code - Ferramenta que ajudou a criar este script
Se este projeto te ajudou, considere dar uma ⭐!
Feito com ❤️ para a comunidade de desenvolvedores