Set up Ubuntu 24.04 (Noble) for development and daily use with one command. Features:
- π 5-minute setup - Everything you need, installed correctly
- π― Interactive menu - User-friendly guided installation
- π Smart power management - Better battery life on laptops
- π» Hardware-specific optimizations - ThinkPad T14s Gen 2 & more
- π‘οΈ Privacy & security - Hardened settings and firewall
- π οΈ Developer ready - Docker, Python, Node.js, and more
- β Safe to run - Preview changes, progress tracking, no surprises
Copy, paste, and press Enter - that's it!
sudo apt update && sudo apt install -y git make && \
git clone https://github.com/T-Green-hub/ubuntu-bootstrap.git && \
cd ubuntu-bootstrap && \
make runβ Grab coffee! Installation takes 5-15 minutes.
Prefer a menu-driven experience?
# Install prerequisites
sudo apt update && sudo apt install -y git curl make
# Clone and run interactive menu
git clone https://github.com/T-Green-hub/ubuntu-bootstrap.git
cd ubuntu-bootstrap
bash scripts/interactive_menu.shPerfect for beginners! The interactive menu provides:
- π― Auto hardware detection (knows your ThinkPad, HP, etc.)
- π Real-time progress - See exactly what's happening
- π System checks first - Catches problems before starting
- π Built-in help - Read guides without leaving the menu
- βοΈ Choose what to install - Full setup or just basics
- π¨ Beautiful interface - No confusing terminal output
What it does: Walks you through every step with clear explanations and lets you preview changes before applying them.
git clone https://github.com/T-Green-hub/ubuntu-bootstrap.git
cd ubuntu-bootstrap
make runSpecial optimizations included:
- β Intel Iris Xe graphics (hardware acceleration)
- β WiFi 6 AX201 (stability & performance)
- β Battery charge thresholds (20-80% for longevity)
- β TrackPoint configuration
- β Power management tuning
- β Kernel 6.x compatibility
Quick setup:
cd ubuntu-bootstrap
# 1. Check system readiness
bash scripts/preflight_check.sh
# 2. Run bootstrap
make run
# 3. Apply T14s-specific fixes
bash scripts/fix_t14s_gen2.sh
# 4. Reboot
sudo rebootπ See: ThinkPad T14s Gen 2 Complete Guide
- ThinkPad T14 (auto-detected)
- HP Laptop 15 (auto-detected)
- Generic laptop profile (fallback)
- π― Interactive Menu - User-friendly guided setup β NEW
- π» ThinkPad T14s Gen 2 Guide - Complete Tiger Lake setup β NEW
- π Pre-Flight Check - System readiness verification β NEW
- π Quick Start Guide - Step by step instructions
- π Full Installation Guide - Detailed explanations
- π§ Troubleshooting - Solutions to common issues
- ποΈ Uninstall Guide - Safe removal of installed components
- π» Hardware Profiles - Laptop optimizations
- π System Detection - Hardware detection and compatibility
- β PostβInstall Guide - Best order and practices after bootstrap
- Essential system packages and tools
- Privacy-focused settings
- Firewall configuration (UFW)
- Laptop power optimization
- System maintenance automation
- Docker with rootless mode
- Node.js (via nvm) with latest LTS
- Python (via pyenv) with build tools
- Rust (via rustup) with cargo
- Go with proper PATH setup
- VS Code with essential extensions
- Development utilities (jq, ripgrep, etc.)
Recommended order: install optional features after base/dev-tools for faster runs and fewer apt refreshes. Prefer privacy-first? Use the "privacy-first" target below.
- ProtonVPN - Official Linux app (daemon + GTK GUI). Note: the legacy community CLI is not included.
- Brave Browser - Privacy-focused browser with built-in ad blocking
- TimeShift - System snapshots and restore
- VLC Media Player - Feature-rich multimedia player with codec support
- LibreOffice - Full office suite (Writer, Calc, Impress, Draw, Base, Math)
- Preview mode (
DRY_RUN=1) - Automatic apt-lock handling
- Network operation retries
- Per-script logging
- Full uninstall support for dev modules
- Automatic backups before uninstall
# Interactive menu (recommended for new users)
bash scripts/interactive_menu.sh
# Pre-flight check (verify system readiness)
bash scripts/preflight_check.sh
# Full installation
make run
# Preview changes without installing
DRY_RUN=1 make run
# Skip developer tools
scripts/run_bootstrap.sh --skip-script=40
# Install specific dev tools
scripts/40_dev-tools.sh docker nodejs python
# ThinkPad T14s Gen 2 specific fixes
bash scripts/fix_t14s_gen2.sh
# Install optional features (Brave, ProtonVPN, VLC, LibreOffice)
make optional # Show available features
scripts/60_optional-features.sh brave protonvpn # Install privacy tools
scripts/60_optional-features.sh vlc libreoffice # Install desktop apps
scripts/60_optional-features.sh brave # Install Brave only
# Privacy-first preset (optional): install privacy extras before dev tools
make privacy-first
# Hardware detection and compatibility check
make detect # Show hardware info and recommendations
make check # Check for deprecated packages
# Uninstall developer modules (safe with backups)
source scripts/dev-modules/python.sh && uninstall_python
source scripts/dev-modules/nodejs.sh && uninstall_nodejs
source scripts/dev-modules/rust.sh && uninstall_rust
# See docs/UNINSTALL.md for complete guide
# Verify installation
make verify- Try running in preview mode first:
DRY_RUN=1 make run-
Check the Troubleshooting Guide
-
Open an issue: https://github.com/T-Green-hub/ubuntu-bootstrap/issues
MIT Β© 2025 T-Green-hub
Repository: https://github.com/T-Green-hub/ubuntu-bootstrap
- Auto-detects common laptops via
scripts/50_laptop.shand applies a matching profile underhardware/. - Profiles available:
thinkpad-t14,hp-laptop-15, and a safegenericfallback. - Override detection by setting
HARDWARE_PROFILE(e.g.,HARDWARE_PROFILE=thinkpad-t14).
- Set
DRY_RUN=1to preview actions without making changes. APT and systemd operations are logged but skipped where supported. - Examples:
DRY_RUN=1 bash scripts/50_laptop.shDRY_RUN=1 make run
scripts/run_bootstrap.sh temporarily stops background services that often hold apt/dpkg locks (PackageKit, unattended-upgrades, apt-daily timers) for the duration of the run, then restores them automatically. This reduces flakiness during larger installs (e.g., dev-tools). Set STRICT=1 to fail on non-critical warnings instead of treating them as success.
Per-script logs are saved under logs/<timestamp>/ during a run. Override the location with LOG_DIR=/path/to/logs. In dry-run mode, the runner records what would have been executed.
make run # install base packages + verify
make base # base packages only
make verify # verification only
make release TAG=v0.1.0 # create a tag + GitHub release (requires gh auth)git clone https://github.com/T-Green-hub/ubuntu-bootstrap.git
cd ubuntu-bootstrap
bash scripts/run_bootstrap.shYou can install individual developer tools with our modular script:
# Install all dev tools
scripts/40_dev-tools.sh
# Or install specific tools only
scripts/40_dev-tools.sh docker nodejs python rust go vscode utilitiesNotes after install:
- Docker: log out/in to use without sudo
- Node.js:
source ~/.nvm/nvm.sh - pyenv:
source ~/.bashrc - Rust:
source ~/.cargo/env - Go:
source ~/.bashrc