A professional multi-language installer script for Linux environments.
A powerful and easy-to-use Bash script to install popular programming languages on Debian-based Linux systems. Designed for developers, students, and sysadmins who want a quick, interactive, and customizable setup.
- ✅ Install 19+ popular programming languages
- 📦 Handles special installations (Node.js, Flutter, Dart, etc.)
- 📋 Interactive or CLI usage
- ⚙️ Dependency auto-setup
- 📄 Logging support
- 🛡️ Root-check with safe execution (
set -euo pipefail) - 🧠 Skips already installed languages
| ID | Language | Command/Package |
|---|---|---|
| 1 | Python | python3 |
| 2 | Go | go |
| 3 | Rust | rustc |
| 4 | Java | java |
| 5 | Node.js | node |
| 6 | Deno | deno |
| 7 | Ruby | ruby |
| 8 | PHP | php |
| 9 | Perl | perl |
| 10 | Lua | lua5.4 |
| 11 | C | gcc |
| 12 | C++ | g++ |
| 13 | C# | mono |
| 14 | Kotlin | kotlin |
| 15 | Haskell | ghc |
| 16 | Elixir | elixir |
| 17 | R | R |
| 18 | Dart | dart |
| 19 | Flutter | flutter |
- Linux (Debian/Ubuntu-based)
sudoor root privilegesapt,curl,wget,gnupg,snap
Clone the repository and run the installer:
git clone https://github.com/jeanga7/language-installer.git
cd language-installer
chmod +x install.sh
sudo ./install.sh --interactiveOr try it online:
Download pre-packaged archives from the Releases page:
- language-installer.tar.gz
- language-installer.zip
Simply extract and run:
tar -xzf language-installer.tar.gz # or unzip language-installer.zip
cd language-installer
sudo ./install.sh --interactiveCreate a shortcut command:
alias install-langs="bash <(curl -sSL https://raw.githubusercontent.com/jeanga7/language-installer/main/install.sh)"Then simply run:
install-langsPlace the install.desktop file in your system applications folder for a GUI launcher:
[Desktop Entry]
Version=1.0
Type=Application
Name=Language Installer
Comment=Install multiple programming languages with one click
Exec=gnome-terminal -- bash -c "cd ~/language-installer && sudo ./install.sh --interactive; exec bash"
Icon=utilities-terminal
Terminal=false
Categories=Development;Install it with:
chmod +x install.desktop
cp install.desktop ~/.local/share/applications/Then search for "Language Installer" in your application menu.
sudo ./install.sh --interactivesudo ./install.sh 1 3 5(Installs Python, Rust, Node.js in this example)
sudo ./install.sh allInstalls everything in the list.
All steps and outputs are saved in install.log:
less install.logUncomment the following line at the end of install.sh to verify installs automatically:
# check_all_installedSee CHANGELOG.md for details on each release.
Modify or add new languages in the script:
declare -A LANGUAGES=(
["1"]="Python:python3"
...
["20"]="Zig:zig"
)- Must be run with
sudoor root - Uses
set -euo pipefail - Skips already installed languages
Pull requests and suggestions are welcome! Fork the repo and submit changes via PR.
MIT License. See LICENSE for details.
JeanGa7 GitHub: @jeanga7
If this script saved you time, give it a ⭐️ and share it with your fellow devs!