I read on twitter from Ryan Gordon:

” So I might find I have a tree like this:

/home/icculus/Configs/Subversion
/home/icculus/Configs/DBUS/Config
/home/icculus/Configs/DBUS/Keyring
/home/icculus/Configs/Mozilla Thunderbird/Address Book
/home/icculus/Configs/Mozilla Thunderbird/Extensions

We can call it “Configs” or whatever, but it should probably be user-visible
(that is, without a prepended ‘.’), be standardized, and allow apps all the
space they want in their own folder under this root.”

I encourage you to read his whole post as that is just a little bit of it. He posted a follow up today:

“There is apparently a freedesktop thing, but looking aside the infuriating need to stick “XDG” on everything, I’m not sure I dig on the idea of using environment variables. I’d rather this have to call a piece of system-controlled code that can set policy, and handle things like creating directories, etc, so every app that needs to be changed needs extremely minimal changes, and reduce their ability to get things wrong. Granted, that system code could respect these XDG_* variables if that makes sense. Even looking beside that: dude, it’s 2009, can we stop using environment variables and shell scripts for everything? Is it heresy to ask that?

Honest to god, though: how’d that $BROWSER thing work out?”

I totally agree with him on this. The number of hidden files in my home directory is unmanagable, ugly, and a ton are not even close to intuively named.

To see how many hidden configuration files you have in your home directory you can run this:

ls -la ~ | awk '{print $8}' | egrep '^\.' | wc -l

I encourage anyone written an app to not put all of your configuration stuff in the base home directory, hopefully everyone can arrive at an intelligent solution. Ryan has a great start.

Related posts:

  1. Fun with Amazon S3 in Ubuntu Hardy
  2. Howto: Add updated e1000 driver to SLED 10 SP1
  3. Firefox 3.0 Patch
  4. Finding the difference between two files
  5. Python Commands Module