Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

🌐 Language Installer Script

ShellCheck Lint Version ShellCheck

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.


🚀 Features

  • ✅ 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

📦 Supported 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

🛠️ Requirements

  • Linux (Debian/Ubuntu-based)
  • sudo or root privileges
  • apt, curl, wget, gnupg, snap

📥 Installation

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 --interactive

Or try it online:

Run on Replit Open in Gitpod


📦 Releases

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 --interactive

⚡️ One-Liner Install

Create a shortcut command:

alias install-langs="bash <(curl -sSL https://raw.githubusercontent.com/jeanga7/language-installer/main/install.sh)"

Then simply run:

install-langs

🖥️ Desktop Launcher (One-Click)

Place 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.


⚙️ Usage

🎛 Interactive Mode

sudo ./install.sh --interactive

💻 CLI Mode

sudo ./install.sh 1 3 5

(Installs Python, Rust, Node.js in this example)

📦 Install All

sudo ./install.sh all

Installs everything in the list.


📄 Output Log

All steps and outputs are saved in install.log:

less install.log

🧪 Post-Installation Check

Uncomment the following line at the end of install.sh to verify installs automatically:

# check_all_installed

📝 Changelog

See CHANGELOG.md for details on each release.


🧰 Customization

Modify or add new languages in the script:

declare -A LANGUAGES=(
  ["1"]="Python:python3"
  ...
  ["20"]="Zig:zig"
)

🛡️ Security

  • Must be run with sudo or root
  • Uses set -euo pipefail
  • Skips already installed languages

🤝 Contributing

Pull requests and suggestions are welcome! Fork the repo and submit changes via PR.


📜 License

MIT License. See LICENSE for details.


👨‍💻 Author

JeanGa7 GitHub: @jeanga7


⭐️ Star if you like it!

If this script saved you time, give it a ⭐️ and share it with your fellow devs!


About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages