#!/bin/bash set -e echo "==========================================" echo "๐Ÿง‘โ€๐Ÿ’ป Software Development Setup - Ubuntu 22.04" echo "==========================================" # Update system echo "๐Ÿ”„ Updating system packages..." sudo apt update && sudo apt upgrade -y # Essential development tools echo "๐Ÿ› ๏ธ Installing core developer tools..." sudo apt install -y build-essential git curl wget unzip zip \ software-properties-common cmake gdb pkg-config # Python and pip echo "๐Ÿ Installing Python3 and pip..." sudo apt install -y python3 python3-pip python3-venv # Node.js and npm echo "๐ŸŸข Installing Node.js LTS and npm..." curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs # Java (OpenJDK) echo "โ˜• Installing OpenJDK (Java 17)..." sudo apt install -y openjdk-17-jdk # Optional: Go read -p "Do you want to install Go (Golang)? (y/n): " install_go if [[ "$install_go" == "y" ]]; then echo "๐Ÿฆซ Installing Go..." wget https://go.dev/dl/go1.22.3.linux-amd64.tar.gz -O /tmp/go.tar.gz sudo tar -C /usr/local -xzf /tmp/go.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc fi # Optional: Docker read -p "Do you want to install Docker and Docker Compose? (y/n): " install_docker if [[ "$install_docker" == "y" ]]; then echo "๐Ÿณ Installing Docker..." sudo apt install -y docker.io docker-compose sudo systemctl enable docker sudo usermod -aG docker $USER fi # Visual Studio Code read -p "Do you want to install VS Code? (y/n): " install_vscode if [[ "$install_vscode" == "y" ]]; then echo "๐Ÿง  Installing VS Code..." wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list' sudo apt update sudo apt install -y code rm -f packages.microsoft.gpg fi # Optional: JetBrains Toolbox read -p "Do you want to install JetBrains Toolbox (for IntelliJ, PyCharm, etc.)? (y/n): " install_jetbrains if [[ "$install_jetbrains" == "y" ]]; then echo "๐Ÿ”ง Installing JetBrains Toolbox..." wget https://download.jetbrains.com/toolbox/jetbrains-toolbox-2.3.1.31116.tar.gz -O ~/toolbox.tar.gz mkdir -p ~/jetbrains-toolbox && tar -xzf ~/toolbox.tar.gz -C ~/jetbrains-toolbox --strip-components=1 ~/jetbrains-toolbox/jetbrains-toolbox fi # Terminal improvements (Zsh + Oh-My-Zsh) echo "๐Ÿ’ป Installing Zsh + Oh My Zsh..." sudo apt install -y zsh chsh -s $(which zsh) sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # Final cleanup echo "๐Ÿงน Cleaning up..." sudo apt autoremove -y sudo apt clean echo "โœ… Software development environment setup is complete!" echo "๐Ÿ‘‰ Please logout/login if Docker or Zsh shell was installed."