Skip to content

A shell script to automate the installation and configuration of essential tools, programming languages, and development utilities on a Ubuntu system.

Notifications You must be signed in to change notification settings

th92rodr/ubuntu-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ubuntu Setup

A shell script to automate the installation and configuration of essential tools, programming languages, and development utilities on a Debian-based Linux system.

This script supports any Debian-based distribution (e.g., Ubuntu, Linux Mint, Pop!_OS, MX Linux, Kali Linux, Parrot OS, Debian).

It has been tested and verified on:

  • ✅ Ubuntu 20.04 LTS
  • ✅ Ubuntu 22.04 LTS

Note

This script is designed for Debian-based distributions. It may not work on Fedora, Arch, or other non-Debian distros without modifications.


🎯 Features

  • OS detection and compatibility checks
  • Installs essential tools and dependencies
  • Installs and configures programming environments
  • Appends shell environment variables (.bashrc, .zshrc)
  • Idempotent: skips installs if already present
  • Uses sudo keep-alive to avoid repeated password prompts
  • Docker support for isolated testing

📌 Packages and Programs Installed

🔸 System & Utilities

🔸 Development Tools

🔸 Programming Languages & Runtimes

🔸 Browsers & Desktop


🕹️ Usage

1. Clone the repository:

git clone git@github.com:th92rodr/ubuntu-setup.git
cd ubuntu-setup

2. Grant execute permission to the setup script:

chmod +x setup.sh

3. Run the setup script:

bash setup.sh

You’ll be prompted once for your sudo password. The script will then handle the rest.


🐳 Test in Docker

You can test this script in a clean environment, using a docker container, without affecting your system.

Run directly (run as root)

docker run -it --name ubuntu-setup-test --rm ubuntu:22.04

Run using a Dockerfile (run as a non-root user)

docker build --tag ubuntu-setup:1.0 --file Dockerfile .
docker run -it --name ubuntu-setup-test --rm ubuntu-setup:1.0

📜 License

This project is licensed under the MIT License.


🎖️ Give it a star if you like this project!

About

A shell script to automate the installation and configuration of essential tools, programming languages, and development utilities on a Ubuntu system.

Resources

Stars

Watchers

Forks

Languages