OrphyCleaner icon
GUI tool for Arch-based Linux

OrphyCleaner

A lightweight GUI that scans your home folder for orphaned or unused application folders left behind after uninstalling apps, and helps you decide what to keep and what to remove. Built for Arch-based distributions, and easy to adapt to others.

v2.0.0 AGPL-3.0 Python 3.9+ Manjaro · Arch Linux
What it does

Features

Native GTK4 / libadwaita GUI that follows your system's light/dark theme automatically.
Scans common config locations like ~/.config, ~/.local/share, and other hidden folders
Matches folders against pacman packages, Flatpak apps, .desktop entries, AppImages, and PATH executables
Categorizes each folder as Installed, Maybe Installed, or Orphaned, with a summary count
Mark orphaned folders as important so they're never suggested for removal again
Search/filter box to quickly narrow down folders within a category.
Includes default ignored folders like cache, trash, and other system-related directories.
Package/AUR/Flatpak description lookup for any folder, so you can see what a match actually is before deciding.
Lightweight and fast, with no unnecessary dependencies
Get it running

Installation

From AUR — recommended for Manjaro / Arch

yay -S orphycleaner

From GitHub

git clone https://github.com/dodog/orphycleaner.git
cd orphycleaner
python3 orphycleaner.py

Requirements

  • Python 3.9 or newer
  • PyGObject, GTK4, and libadwaita(GUI libraries)
sudo pacman -S python-gobject gtk4 libadwaita
Before you delete anything: OrphyCleaner can't guarantee an orphaned folder is truly unused. Back up and double-check before removing, to avoid losing data you still need.
See it in action

Screenshots & demo

OrphyCleaner interface showing detected application folders and their status
See more on GitHub
Full walkthrough in the README
Documentation

Help

Overview

OrphyCleaner scans your Linux system for orphaned or unused application folders and helps you decide whether to keep or remove them. It looks up descriptions from Pacman, AUR, and Flatpak to make it easier to tell what a folder actually belongs to.

  • Browse detected application folders
  • See descriptions pulled from system and community sources
  • Open folders, or delete them directly
  • Mark folders to keep so they're never suggested again
  • Decisions are saved and restored between runs

How scanning works

On startup, OrphyCleaner:

  1. Looks for application folders in common locations — ~/.local/share/, Flatpak directories, AppImage folders
  2. Compares them against installed Pacman packages, AUR packages (via yay/paru if available), Flatpaks, and AppImages
  3. Lists anything that doesn't match an installed app as a candidate for cleanup

How descriptions are retrieved

When you select a folder:

  1. OrphyCleaner guesses a package name from the folder name
  2. It queries, in order: Pacman (pacman -Si), an AUR helper (yay/paru -Si), then Flatpak (flatpak info)
  3. The first valid description found is shown — if none is found, it shows "Description not found"

Files used and saved

  • ~/.cache/orphycleaner/orphycleaner_pkg_cache.json — cache of package descriptions, keyed by source (pacman:, aur:, flatpak:). Delete this file to clear the cache.
  • ~/.local/share/orphycleaner/kept_folders.txt — folders you've marked as kept. Safe to edit or delete by hand.

Caching and negative results

If a package isn't found in Pacman, AUR, or Flatpak, OrphyCleaner caches a placeholder result so it doesn't repeat a slow lookup every time. To force a fresh check — say, once a package becomes available — delete orphycleaner_pkg_cache.json.

Cleaning workflow

  1. Browse through detected folders
  2. Read the description to judge whether it belongs to an installed app
  3. Mark it kept if you want to keep it — this updates kept_folders.txt
  4. Otherwise, remove it from the app, or manually outside it

FAQ

Why does description lookup take a few seconds sometimes?

Queries to AUR helpers or Flatpak require system calls or network requests. Results are cached afterward to keep things fast.

It says "Description not found," but I know the package exists.

Make sure yay/paru (for AUR) or Flatpak is installed and on your PATH. Still stuck? Try deleting the cache file.

How do I make OrphyCleaner forget my choices?

Delete both orphycleaner_pkg_cache.json and kept_folders.txt.

Keep it going

Support the project

Also welcome: bug reports and pull requests. Customization tip: the ignored-folders list and alias map both live near the top of orphycleaner.py.