Shell scripts to automate Ubuntu desktop setup and configuration. Scripts are idempotent - safe to re-run without losing existing configs or creating duplicates.
- Status summaries - See what's installed before making changes
- Detection - Automatically skips already-installed components
- User control - Confirmation prompt before any changes
- Backups - Configs backed up to
~/.config/ubuntu-setup-backups/before modification - Preserved files -
.zsh_history,.p10k.zsh, and custom aliases are never overwritten
# 1. Initial setup (packages, firewall, flatpaks)
./01_install-setup.sh
# 2. Configure OS (zsh, themes, directories)
./02_configure_os.zsh- Enables UFW firewall (default: deny incoming, allow outgoing)
- Installs apt packages: bat, flatpak, python3, python3-pip, python3-venv, xclip, gnome-tweaks, zsh, zsh-syntax-highlighting, zsh-autosuggestions
- Installs Flatpak apps: Foliate (ereader)
- Installs Snap apps: glow (terminal markdown reader)
- Sets zsh as default shell
- Creates custom directories (
~/Bin,~/Projects) - Optionally installs VScodium
- Configures zsh with Powerlevel10k theme, syntax highlighting, aliases
| Script | Description | Requirements |
|---|---|---|
python_setup.zsh |
Installs pipx and poetry | - |
cmus_config.zsh |
cmus player with SomaFM playlist | python_setup.zsh first |
install_hyprland.zsh |
Hyprland window manager | Ubuntu 25.10+ |
install_setup_kvm-qemu.zsh |
KVM/QEMU virtualization | - |
pop_shell.zsh |
Pop!_OS tiling extension | GNOME |
superdrive_config.zsh |
Apple SuperDrive udev rule | - |
configure_shell.zsh- ZSH configuration with Powerlevel10kinstall_fonts_MesloLGS.zsh- MesloLGS Nerd Fonts for Powerlevel10kinstall_vscodium.zsh- VScodium editor
common.zsh- Colors, print functions, promptsdetect.zsh- State detection for all componentsbackup.zsh- Backup management
ZSH configuration lives in ~/.zsh/custom/ (no framework):
aliases_apt.zsh- Package manager aliasespath.zsh- PATH configurationthemes/powerlevel10k/- Theme files
Ubuntu Setup v2.0 - System Status
==================================
[+] UFW firewall : Enabled
[+] APT packages : All installed (10/10)
[+] Flatpak apps : All installed
[-] VScodium : Not installed
Actions to perform:
- Install VScodium
Proceed? [Y/n]:
- Firefox preferences and extensions
- Proper dotfiles (~/.config) backup/restore