How can I detect and delete all lost configuration folders?

Over the time there is an increasing number of hidden .configuration folders in my home folder.

Many of these come from applications I only installed for testing or from applications that I don't use any more. I would not mind really but these folders do clutter my home, and worse than that sum up to as much as 80 GBytes by now. As there are also applications I never heard of (at least I can't remember I had installed them) I hesitate to delete them.

Is there a way to find out which folders came from purged applications? May there even be a way to auto-remove a configuration folder when purging (not removing) the application that created it?


Solution 1:

I can't think of a quick fix short of going through deleting what you know isn't installed and manually Googling what you can't identify. It's a horrible problem that I've just opted for the Etch-a-Sketch method and either deleted my whole profile or have deleted large chunks of it (.config, .gnome-2, etc)

The only long term solution I could think of doing this is setting up an online database of:

  • Packages
  • What configuration paths they use

You'd store that information in a simple JSON "database", perhaps gzip it and store it somewhere online.

You'd then have a tool that downloaded this global list and scanned the paths, looking for corresponding paths in the user's home. Where there are matches, you check the package list to see if that package is still installed. If it's not, it goes on a death-list.

After that scan, the user gets a list of available clean-up operations (with detail on what package the program thinks it is) and it given the option to nuke whatever they like.

In a perfect world, we'd have this integrated right into the packaging system (and have apt-get clean-my-home), but I think that's a pipe dream. Maintainers would have to do a ton of work on top of requiring reengineering the package database formats (which are shakey enough already).

As getting this written into the fabric of each package is unappealing, there also needs to be some sort of interface for normal people to suggest paths for packages. (As it's my dayjob) I'd probably suggest a quick and dirty web-app where people can make their suggestions and MOTUs, Ubuntu members, etc can moderate the flow to make sure people aren't suggesting potentially dangerous searches.

As it is, it's going to require a whole load of manpower to get the however-many thousand apps that write home-files.

This is an interesting problem. This might give me a good excuse to play with Quickly's cli template (Quickly because I'm a Pythonista and also because packaging scares me).