Beginner guide

Icon Themes: Install, Switch, and Uninstall

Install icon packs like Papirus, WhiteSur, McMojave-circle, and Colloid — apply them through system Settings, and safely remove them — including the broken-symlink pitfall.

Beginner Updated Linux Mint 22.3 Cinnamon (Ubuntu 24.04 Noble base); also tested on Zorin OS 18.1 Pro

Verified Working

Hardware context: Lenovo ThinkPad L14 Gen 2 (Intel i5-1135G7, 16GB RAM, Intel Iris Xe, 1366x768)

Overview

Icon themes can be installed two ways on an Ubuntu-based distro — through apt (from a PPA) or by cloning a repository and running its install script — and the two methods put files in different places. That difference is the source of most icon-theme problems: themes nested inside each other, source folders cluttering the home directory, and “uninstalled” themes that still show in Settings. This guide covers installing Papirus, WhiteSur, McMojave-circle, Colloid, and Kora cleanly, and removing them without leftovers.


Prerequisites

  • Any Ubuntu 24.04-based distro
  • git installed (sudo apt install git)

The Problem (Windows User Perspective)

On Windows, you install icon packs through Settings or a third-party tool, and removing them is usually clean. On Linux, icon themes can be installed in two different ways (apt vs git clone), and they live in two different locations. If you’re not careful, you end up with:

  • Theme source folders cluttering your home directory
  • Themes nested inside each other when you clone repos in the wrong directory
  • “Uninstalled” themes still showing in Settings because you deleted the source folder instead of the actual installed files

Where Themes Are Installed

This is the most important concept to understand:

Install Method Installed Location Managed By
apt install (PPA) /usr/share/icons/ apt — use sudo apt remove to uninstall
git clone + install.sh ~/.local/share/icons/ Manual — delete folders to uninstall
Manual copy ~/.local/share/icons/ Manual — delete folders to uninstall

Key insight: The source folder (where you ran git clone) is NOT the same as the installed theme location. The install.sh script copies files to ~/.local/share/icons/. Deleting the source folder does NOT uninstall the theme.


Clean Install Practice

Always use a staging directory so source folders don’t clutter your home:

mkdir -p ~/Downloads/staging
cd ~/Downloads/staging

After installing, delete the source:

rm -rf ~/Downloads/staging/theme-name

Installing Themes

The most popular icon theme on Linux. Flat, clean, extensive coverage.

sudo add-apt-repository ppa:papirus/papirus
sudo apt update
sudo apt install papirus-icon-theme papirus-folders -y

The papirus-folders: Unable to find config file warning on first install is harmless — the config is created when you first use papirus-folders.

Set a folder color:

papirus-folders -C blue --theme Papirus

Apply in Settings → Appearance → Icons → Papirus.

WhiteSur (via git clone)

macOS-style icons.

cd ~/Downloads/staging
git clone https://github.com/vinceliuice/WhiteSur-icon-theme.git
cd WhiteSur-icon-theme
./install.sh

Uninstall:

cd ~/Downloads/staging/WhiteSur-icon-theme
./install.sh -r

Clean up source:

rm -rf ~/Downloads/staging/WhiteSur-icon-theme

McMojave-circle (via git clone)

macOS Mojave-style circular icons.

cd ~/Downloads/staging
git clone https://github.com/vinceliuice/McMojave-circle.git
cd McMojave-circle
./install.sh

Uninstall:

cd ~/Downloads/staging/McMojave-circle
./install.sh -r

Colloid (via git clone)

Modern, colorful icon theme.

cd ~/Downloads/staging
git clone https://github.com/vinceliuice/Colloid-icon-theme.git
cd Colloid-icon-theme
./install.sh

Uninstall:

cd ~/Downloads/staging/Colloid-icon-theme
./install.sh -r

Kora (manual copy)

Kora doesn’t have an install script — you copy the folder directly:

cd ~/Downloads/staging
git clone https://github.com/bikass/kora.git
cp -r kora/kora ~/.local/share/icons/

Uninstall:

rm -rf ~/.local/share/icons/kora

Proper Uninstallation

For apt-installed themes (like Papirus):

sudo apt remove --purge papirus-icon-theme papirus-folders
sudo add-apt-repository --remove ppa:papirus/papirus
sudo apt autoremove
sudo apt update

For git-installed themes:

Method 1 — If you still have the source folder:

cd ~/Downloads/staging/theme-name
./install.sh -r

Method 2 — If you already deleted the source folder:

Remove directly from the install location:

# Check what's installed
ls ~/.local/share/icons/

# Remove specific themes
rm -rf ~/.local/share/icons/WhiteSur*
rm -rf ~/.local/share/icons/McMojave*
rm -rf ~/.local/share/icons/Colloid*
rm -rf ~/.local/share/icons/kora

After uninstalling, verify:

ls ~/.local/share/icons/
ls /usr/share/icons/ | grep -i "papirus\|whitesur\|mcmojave\|colloid\|kora"

If themes still appear in Settings → Appearance after removal, log out and log back in to refresh the cache.


What Didn’t Work (and Why)

Approach Tried Why It Failed
Cloning repos inside other theme folders (e.g., McMojave inside WhiteSur) Creates nested mess — themes installed inside each other
Deleting the source folder (e.g., rm -rf ~/Downloads/WhiteSur-icon-theme) to “uninstall” Only removes the installer, NOT the installed theme files in ~/.local/share/icons/
Running rm -rf ~/Downloads/source-folder and expecting themes to disappear from Settings install.sh copies files to a different location — the source is just the installer
Cloning repos directly into ~ (home directory) Leaves source folders cluttering your home permanently

Troubleshooting

Symptom Cause Fix
Theme still shows in Settings after “uninstalling” Deleted source folder, not the installed files Remove from ~/.local/share/icons/ or /usr/share/icons/
papirus-folders: Unable to find config file First-time install — config doesn’t exist yet Harmless — run papirus-folders -C blue --theme Papirus to create it
Themes nested inside each other Cloned repos into the wrong directory Delete the nested mess, re-clone into ~/Downloads/staging/
Theme icons don’t change after selecting in Settings Icon cache needs refresh Run gtk-update-icon-cache ~/.local/share/icons/ThemeName or log out/in

Discussion

Continue the conversation about this guide. Loading comments connects to GitHub Discussions through giscus.

Open community discussions on GitHub

Check before you copy

This command needs care. Read its context, confirm the target and location, and keep a recovery path.

Copying does not run a command.