Home Articles About

How I Provision a Fresh Linux Install

These instructions are specifically for Pop!_OS, but they will generally run just fine on any Debian-based system.


Step 0

This bash script will automatically provision everything in steps 1 to 6 below, as well as add some handy bash aliases and a few utilities.

    sudo wget -O - https://raw.githubusercontent.com/justinsloan/pop-provision/main/provision.sh | sudo bash

Step 1

Get rid of Firefox and anything else we don’t need. Using --purge will get rid of any orphaned config files.

    sudo apt --purge remove firefox chromium epiphany-browser evolution transmission-gtk

Step 2

Add the Microsoft public GPG key and package repository, as well as the Codium key and repository.

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
    sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/edge stable main" > /etc/apt/sources.list.d/microsoft-edge.list'
    curl https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor > vscodium.gpg
    sudo install -o root -g root -m 644 vscodium.gpg /etc/apt/trusted.gpg.d/
    sudo sh -c 'echo "deb [arch=amd64] https://download.vscodium.com/debs vscodium main" > /etc/apt/sources.list.d/vscodium.list'

Step 3

Make sure the system is completely up to date, then use autoremove to get rid of any orphaned dependencies.

    sudo apt update && sudo apt upgrade
    sudo apt autoremove

Step 4

Install software packages and plugins as needed.

    sudo apt install cabextract htop tmux git nmap barrier codium python3-pip twine zotero virtualbox transmission-gtk keepassxc cmatrix curtail imagemagick nautilus-image-converter gnome-tweaks ttf-mscorefonts-installer microsoft-edge-stable

Step 5

Install Python packages as needed.

    pip3 install quantumdiceware

Step 6 (Optional)

Install Microsoft ClearType fonts.

    mkdir ~/.fonts
    curl https://raw.githubusercontent.com/justinsloan/provision/main/fonts.sh | bash