Tested on Ubuntu 24.04 LTS (GNOME)

From Fresh Install to
Dev Ready

One command runs an opinionated Ubuntu bootstrap: desktop tuning, package cleanup, Docker/VS Code/Cursor setup, and reproducible developer defaults.

bash
$ wget -qO- https://fullstackonly.com/install.sh | bash
Optional: add --cursor to include Cursor install/config during the full bootstrap run.

Design Principles Behind install.sh

Not just package installs, but opinionated decisions for a repeatable Ubuntu dev environment.

Opinionated Ubuntu Baseline

The script targets Ubuntu + GNOME intentionally, so behavior is predictable instead of diluted by distro-specific edge cases.

Single Packaging Direction

install.sh favors apt + Flatpak/Flathub, updates Snap packages, and purges selected defaults to reduce long-term desktop drift.

Idempotent by Default

Every block is written so reruns remain safe: package guards, key checks, and update-only flows where practical.

Developer Throughput First

Core tooling, Docker, VS Code, Cursor mode, Bun, and updated SQLite utilities are selected to reduce friction and speed iteration.

Hardware-Aware Driver Handling

NVIDIA work only runs when compatible hardware is detected, then installs latest available driver package and removes old versions.

Pragmatic, Not Dogmatic

The bootstrap stays opinionated but practical: clear defaults, readable logs, and script behavior you can inspect and reason about.

What install.sh Sets Up

Idempotent bootstrap blocks with practical defaults

Docker + Group Access

Installs Docker from the official repository and adds your user to the docker group (re-login required).

CLI + Source Builds

Installs terminal essentials and builds/upgrades `curl` and `axel` from source when local versions are behind.

VS Code + Cursor Mode

Configures official apt repos, installs editor packages, and applies curated extensions/settings (Cursor setup is included when `--cursor` is passed).

GNOME Defaults + Cleanup

Applies privacy/power/dock defaults, hides selected desktop launchers, and sets a curated wallpaper for a clean workspace.

Flatpak + Flathub

Installs Flatpak integration and configures the Flathub remote only when needed, so reruns stay predictable.

SQLite Toolchain Update

Checks upstream SQLite releases and updates `sqlite3`, `sqldiff`, `sqlite3_analyzer`, and `sqlite3_rsync` when newer tools exist.

What Happens When You Run install.sh

The script runs as explicit per-app blocks so reruns stay predictable. It skips what is already configured and updates only what is needed.

Applies GNOME interface/privacy/power defaults and desktop performance profile when available
Purges selected Ubuntu packages, upgrades apt packages, refreshes Snap, and cleans package cache
Configures Flatpak and Flathub remote
Configures official repos for Docker, VS Code, and Cursor (when requested)
Installs core CLI tooling, Bun runtime, and updates SQLite tools from upstream downloads
Detects NVIDIA hardware, installs latest available driver package, and removes older installed variants
output
ubuntu@ubuntu:~$ wget -qO- https://fullstackonly.com/install.sh | bash
INFO • Validate Sudo Access
RUN • Requesting sudo credentials
[sudo] password for ubuntu:
OK • Sudo credentials cached
INFO • Apply Desktop Performance
RUN • Setting power profile to performance
OK • Power profile set to performance
INFO • Apply GNOME Preferences
RUN • Applying GNOME interface, privacy, and power preferences
OK • GNOME preferences applied
INFO • Purge Unused Ubuntu Packages
WARN • No listed packages present for purge
INFO • Upgrade APT and Snap
RUN • Updating apt package index
Hit:1 https://download.docker.com/linux/ubuntu noble InRelease
Hit:2 https://packages.microsoft.com/repos/code stable InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:4 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:6 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Hit:7 https://downloads.cursor.com/aptrepo stable InRelease
Reading package lists... Done
WARN • No apt full-upgrade changes pending
RUN • Refreshing snap packages
All snaps up to date.
OK • Snap refresh completed
INFO • Build and Install curl
OK • curl already up to date
INFO • Build and Install axel
OK • axel already up to date
INFO • Configure Flatpak Repos
OK • flathub remote already configured
INFO • Restore Firefox Profile
OK • Firefox profile already exists, restore skipped
INFO • Install and Configure Docker
OK • Docker already installed
OK • User already has docker group access
INFO • Install and Configure VSCode
OK • VSCode already installed
INFO • Install Bun Runtime
OK • Bun already installed
INFO • Update SQLite Tools
RUN • Fetching latest SQLite metadata
OK • SQLite tools already up to date
INFO • Update NVIDIA Driver
OK • NVIDIA driver already up to date
INFO • Hide System Desktop Entries
OK • System desktop entries hidden
INFO • Update Desktop Wallpaper
OK • Wallpaper already configured
INFO • Clean Package Cache
RUN • Running apt autoremove/autoclean/clean
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
OK • Package cache cleanup completed
INFO • Print Final Status
OK • /\_/\
OK • ( o.o )
OK • > ^ < All updates applied successfully.
OK • / \
OK • (__|__)
ubuntu@ubuntu:~$

Requirements

Before you begin, make sure you have

Ubuntu 24.04 LTS + GNOME

Designed for Ubuntu desktop environments using apt, snap, and gsettings-based GNOME preferences.

Sudo Privileges

The script requires administrative access to install packages and configure system settings.

Internet connection required (multiple upstream repos/downloads)

If install.sh saved your setup day, help keep it maintained.

If install.sh made your setup faster, cleaner, and less painful, consider supporting Dewy Edit. Your support helps fund maintenance, updates, and the next improvements for everyone.

Support Dewy Edit