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.
- 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
- Git
- Zsh
- Homebrew
- Visual Studio Code
- Docker
- Docker Compose
- Kubernetes (kubectl)
- Kubernetes (kubectx)
- Google Cloud SDK
- Protocol Buffers (protoc)
- Postman
git clone git@github.com:th92rodr/ubuntu-setup.git
cd ubuntu-setupchmod +x setup.shbash setup.shYou’ll be prompted once for your sudo password. The script will then handle the rest.
You can test this script in a clean environment, using a docker container, without affecting your system.
docker run -it --name ubuntu-setup-test --rm ubuntu:22.04docker build --tag ubuntu-setup:1.0 --file Dockerfile .
docker run -it --name ubuntu-setup-test --rm ubuntu-setup:1.0This project is licensed under the MIT License.