Overview • Features • Requirements • Installation • Usage • License
- Overview
- Features
- Requirements
- Installation
- Usage
- Contributing
- License
- Author
- Acknowledgments
- Support
DevNova is a powerful CLI tool designed to automate the installation and configuration of development environments on Linux. Instead of manually installing each tool separately, DevNova provides a friendly interactive interface that helps you select and install the entire technology stack suitable for your role in just a few minutes.
DevNova uses Gum and Bubble Tea to create a modern, colorful, and easy-to-use CLI interface.
Choose your role and DevNova will automatically suggest the appropriate toolset:
- DevOps Engineer: Docker, Kubernetes, Terraform, Ansible, AWS CLI, Python, Neovim, Zsh, LazyDocker, LazyGit, Gum, btop, Bat Tokyo Night, Unclutter
- Backend Developer: Docker, Node.js, Python, Neovim, Zsh, LazyDocker, LazyGit, Gum, btop, Bat Tokyo Night, Unclutter
- Frontend Developer: Node.js, Neovim, Zsh, LazyGit, Gum, btop, Bat Tokyo Night, Unclutter
- Cloud Engineer: Docker, Kubernetes, Terraform, AWS CLI, Python, Neovim, Zsh, LazyDocker, Gum, btop, Bat Tokyo Night, Unclutter
- Network Engineer: Docker, Ansible, Python, Neovim, Zsh, Gum, btop, Bat Tokyo Night, Unclutter
- Fullstack Developer: Docker, Kubernetes, Node.js, Python, Neovim, Zsh, WezTerm, Monaspace Fonts, LazyDocker, LazyGit, Gum, btop, Bat Tokyo Night, Unclutter
- Custom Selection: Freely choose the tools you want
DevNova supports installation of 17+ popular development tools:
Core Infrastructure:
|
Development Tools:
|
Productivity Tools:
|
DevNova provides an uninstallation script with a similar interface, allowing you to select and remove tools that are no longer needed.
- Ubuntu 20.04 LTS or later
- Debian 11 or later
- Linux distributions based on Debian/Ubuntu
- Go
- Gum
git clone https://github.com/henrynguci/DevNova.git
cd DevNovaDevNova uses some custom CLI tools written in Go. Build them before installation:
chmod +x build.sh
./build.shThis script will:
- Check if Go is installed
- Build the binaries:
role-confirm,custom-confirm,tool-info - Save the binaries to the
bin/directory
Gum is a required dependency for the interactive interface:
sudo ./install.sh --install-gum-only./install.sh- Select your role from the menu
- Confirm the list of tools to be installed
- Wait for the installation to complete
- Enjoy your new development environment!
./install.sh./uninstall.shAfter installation, configurations will be copied to ~/.config/:
- Neovim:
~/.config/nvim/ - WezTerm:
~/.config/wezterm/ - LazyDocker:
~/.config/lazydocker/ - LazyGit:
~/.config/lazygit/ - btop:
~/.config/btop/ - Zsh:
~/.zshrc,~/.oh-my-zsh/
Contributions are welcome! If you'd like to contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is distributed under the MIT License. See the LICENSE file for more details.
Minh Hung
- GitHub: @henrynguci
- Gum - Glamorous shell scripts
- Bubble Tea - TUI framework
- Lipgloss - Style definitions for nice terminal layouts
If you encounter any issues or have questions, please:
- Open an Issue on GitHub
- Check Discussions for frequently asked questions
⭐ If you find this project useful, don't forget to give it a star! ⭐
Made with ❤️ by Minh Hung



