Skip to content

DevNova helps developers manage DevOps tools on Ubuntu with an interactive TUI using Gum.

License

Notifications You must be signed in to change notification settings

henrynguci/DevNova

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automated development environment setup CLI tool for Linux with beautiful interactive interface

License Version Shell Go Version

OverviewFeaturesRequirementsInstallationUsageLicense


📑 Table of Contents


📖 Overview

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.


✨ Features

DevNova uses Gum and Bubble Tea to create a modern, colorful, and easy-to-use CLI interface.

Installation Menu

🎭 Role-based Installation

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

Role Confirmation Screen

🛠️ Toolset

DevNova supports installation of 17+ popular development tools:

Core Infrastructure:
  • Docker & Docker Compose
  • Kubernetes (kubectl, minikube, helm)
  • Terraform
  • Ansible
  • AWS CLI
Development Tools:
  • Node.js (via NVM)
  • Python (via pyenv)
  • Neovim (Optimized)
  • WezTerm Emulator
  • Monaspace Fonts
Productivity Tools:
  • Zsh & Oh My Zsh
  • LazyDocker (TUI)
  • LazyGit (TUI)
  • Gum CLI Tool
  • btop System Monitor
  • Bat (Tokyo Night)
  • Unclutter Utility

🌺 Installation Complete

Installation Complete

🗑️ Easy Uninstallation

DevNova provides an uninstallation script with a similar interface, allowing you to select and remove tools that are no longer needed.

Uninstall Menu


📋 Requirements

Supported Operating Systems

  • Ubuntu 20.04 LTS or later
  • Debian 11 or later
  • Linux distributions based on Debian/Ubuntu

Dependencies

  • Go
  • Gum

🚀 Installation

Step 1: Clone the repository

git clone https://github.com/henrynguci/DevNova.git
cd DevNova

Step 2: Build CLI tools

DevNova uses some custom CLI tools written in Go. Build them before installation:

chmod +x build.sh
./build.sh

This script will:

  • Check if Go is installed
  • Build the binaries: role-confirm, custom-confirm, tool-info
  • Save the binaries to the bin/ directory

Step 3: Install Gum (if not already installed)

Gum is a required dependency for the interactive interface:

sudo ./install.sh --install-gum-only

Step 4: Run the installer

./install.sh

Step 5: Follow the installation process

  1. Select your role from the menu
  2. Confirm the list of tools to be installed
  3. Wait for the installation to complete
  4. Enjoy your new development environment!

📚 Usage

Installation

./install.sh

Uninstallation

./uninstall.sh

Installed Configurations

After 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/

🤝 Contributing

Contributions are welcome! If you'd like to contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

♠️ License

This project is distributed under the MIT License. See the LICENSE file for more details.


🐑 Author

Minh Hung


♥️ Acknowledgments

  • Gum - Glamorous shell scripts
  • Bubble Tea - TUI framework
  • Lipgloss - Style definitions for nice terminal layouts

💞 Support

If you encounter any issues or have questions, please:


⭐ If you find this project useful, don't forget to give it a star! ⭐

Made with ❤️ by Minh Hung

About

DevNova helps developers manage DevOps tools on Ubuntu with an interactive TUI using Gum.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published