Este projeto é uma ferramenta de linha de comando robusta para automatizar a instalação, remoção e configuração de um ambiente de desenvolvimento completo em sistemas Debian, com foco em i3wm e ferramentas de terminal.
Ele foi projetado desde o início para ser seguro, interativo, modular e amigável para a comunidade open-source.
- Segurança Primeiro: O script roda como um usuário normal e só invoca
sudoquando estritamente necessário, após validar a sessão uma vez. Grupos de pacotes essenciais são protegidos contra remoção. - Interface Consistente: Todas as interações com o usuário são feitas através de uma interface visual consistente baseada em
dialog, proporcionando uma experiência clara e profissional. - Configuração Externa: Os pacotes e grupos são gerenciados no arquivo
pacotes.conf. Isso permite a customização completa do ambiente sem alterar a lógica do programa. - Modularidade Lógica: O código é dividido em bibliotecas (
lib/) com responsabilidades únicas (core, parser, ui), tornando o projeto mais limpo e fácil de manter. - Diagnóstico Inteligente: O comando
driversrealiza uma série de checagens (Virtualização, Secure Boot, etc.) para prevenir problemas comuns antes que eles aconteçam. - Logging Profissional: A cada execução, um arquivo de log detalhado e estruturado é criado em
/tmp/debian_manager_*.log. Este arquivo é essencial para diagnosticar qualquer problema com precisão.
O projeto é organizado da seguinte forma:
.
├── gerenciador.sh (O motor principal / roteador)
├── pacotes.conf (Onde você customiza os pacotes)
├── LICENSE (A licença do projeto)
├── README.md (Esta documentação)
└── lib/ (Bibliotecas com a lógica principal)
├── core.sh (Funções de logging e execução de comandos)
├── parser.sh (Lógica para ler o pacotes.conf e processar grupos)
└── ui.sh (Toda a lógica de interface com o usuário via 'dialog')
(Nota: A pasta post-install.d/ foi descontinuada e sua lógica foi centralizada nas bibliotecas para um melhor controle do fluxo.)
-
Clone o projeto (ou crie os arquivos manualmente):
# Exemplo: git clone https://github.com/marcelositr/i3-debian-installer.git cd seu-repositorio
-
Torne o script principal executável:
chmod +x gerenciador.sh
-
Execute o comando desejado (como usuário normal):
- Para instalar o ambiente:
./gerenciador.sh install
- Para remover grupos de pacotes:
./gerenciador.sh remove
- Para instalar drivers de hardware:
./gerenciador.sh drivers
- Para ver a ajuda:
./gerenciador.sh help
- Para instalar o ambiente:
A beleza desta ferramenta está na sua flexibilidade.
- Para alterar pacotes: Simplesmente edite as listas e os grupos no arquivo
pacotes.conf. - Para alterar a aparência: Crie um arquivo
~/.dialogrcpara customizar as cores de todas as janelas do assistente. - Para adicionar novas ações de pós-instalação:
- Adicione uma nova função
ui_...no arquivolib/ui.sh. - Chame essa nova função de dentro da função
run_post_install_flownogerenciador.sh, na ordem que desejar.
- Adicione uma nova função
Este projeto está sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes. Sinta-se livre para usar, modificar e distribuir.