software-dev-setup.sh 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #!/bin/bash
  2. set -e
  3. echo "=========================================="
  4. echo "🧑‍💻 Software Development Setup - Ubuntu 22.04"
  5. echo "=========================================="
  6. # Update system
  7. echo "🔄 Updating system packages..."
  8. sudo apt update && sudo apt upgrade -y
  9. # Essential development tools
  10. echo "🛠️ Installing core developer tools..."
  11. sudo apt install -y build-essential git curl wget unzip zip \
  12. software-properties-common cmake gdb pkg-config
  13. # Python and pip
  14. echo "🐍 Installing Python3 and pip..."
  15. sudo apt install -y python3 python3-pip python3-venv
  16. # Node.js and npm
  17. echo "🟢 Installing Node.js LTS and npm..."
  18. curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
  19. sudo apt install -y nodejs
  20. # Java (OpenJDK)
  21. echo "☕ Installing OpenJDK (Java 17)..."
  22. sudo apt install -y openjdk-17-jdk
  23. # Optional: Go
  24. read -p "Do you want to install Go (Golang)? (y/n): " install_go
  25. if [[ "$install_go" == "y" ]]; then
  26. echo "🦫 Installing Go..."
  27. wget https://go.dev/dl/go1.22.3.linux-amd64.tar.gz -O /tmp/go.tar.gz
  28. sudo tar -C /usr/local -xzf /tmp/go.tar.gz
  29. echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
  30. source ~/.bashrc
  31. fi
  32. # Optional: Docker
  33. read -p "Do you want to install Docker and Docker Compose? (y/n): " install_docker
  34. if [[ "$install_docker" == "y" ]]; then
  35. echo "🐳 Installing Docker..."
  36. sudo apt install -y docker.io docker-compose
  37. sudo systemctl enable docker
  38. sudo usermod -aG docker $USER
  39. fi
  40. # Visual Studio Code
  41. read -p "Do you want to install VS Code? (y/n): " install_vscode
  42. if [[ "$install_vscode" == "y" ]]; then
  43. echo "🧠 Installing VS Code..."
  44. wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
  45. sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
  46. sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
  47. sudo apt update
  48. sudo apt install -y code
  49. rm -f packages.microsoft.gpg
  50. fi
  51. # Optional: JetBrains Toolbox
  52. read -p "Do you want to install JetBrains Toolbox (for IntelliJ, PyCharm, etc.)? (y/n): " install_jetbrains
  53. if [[ "$install_jetbrains" == "y" ]]; then
  54. echo "🔧 Installing JetBrains Toolbox..."
  55. wget https://download.jetbrains.com/toolbox/jetbrains-toolbox-2.3.1.31116.tar.gz -O ~/toolbox.tar.gz
  56. mkdir -p ~/jetbrains-toolbox && tar -xzf ~/toolbox.tar.gz -C ~/jetbrains-toolbox --strip-components=1
  57. ~/jetbrains-toolbox/jetbrains-toolbox
  58. fi
  59. # Terminal improvements (Zsh + Oh-My-Zsh)
  60. echo "💻 Installing Zsh + Oh My Zsh..."
  61. sudo apt install -y zsh
  62. chsh -s $(which zsh)
  63. sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  64. # Final cleanup
  65. echo "🧹 Cleaning up..."
  66. sudo apt autoremove -y
  67. sudo apt clean
  68. echo "✅ Software development environment setup is complete!"
  69. echo "👉 Please logout/login if Docker or Zsh shell was installed."