About Archive Tags RSS Feed


It would be nice if we could record which files populate or read

1 January 2011 21:50

It would be really neat if there were some tool which recorded which dotfiles an application read, used, or created.

As an example emacs uses .emacs, but won't create it. However firefox will create and fill ~/.mozilla if it isn't present, and links will create ~/.links2.

What would we do with that data? I'm not sure off the top of my head, but I think it is interesting to collect regardless. Perhaps a simple tool such as apt-file to download the data and let you search:

who-creates ~/.covers
who-creates ~/.dia

Obviously the simple use is to purge user-data when matching packages are removed - e.g. dpkg-posttrigger hook. But that's a potentially dangerous thing to do.

Anyway I'm just pondering - I expect that over time applications will start switching to using "centralised" settings such as ~/.gconf2 etc.

In the menatime I've started cleaning up ~/ on my own machines - things like ~/.spectemurc, ~/.grip, etc.

ObQuote: What a long sword. I like that in a man - Blood of the Samurai (Don't be tempted; awful film.)



Comments on this entry

icon jbd at 17:42 on 1 January 2011

The "fileschanged" package is not exactly what you want but it's quite a nice tool.

icon Kelly Clowers at 19:20 on 1 January 2011

>I expect that over time applications will start switching to using "centralised" settings such as ~/.gconf2 etc

1) not while I have anything to say about it
2) gconf in particular is going away, replaced by the GSettings api and dconf (which is admittedly the same in spirit)

What we are seeing (slowly) is a standardization on the xdg base directories (http://standards.freedesktop.org/basedir-spec/latest/).

These dirs are configurable, but by default they include ~/.config, ~/.local/share and ~/.cache. Each app then has either a single file, or usually a dir within those dirs.

With this setup, the home dir becomes much cleaner, and with things separated out by function, it becomes much easier to, say, back up all config files (without backing up unneeded things), or blow away all caches to free up space.

icon Bob Proulx at 19:54 on 1 January 2011

It is a small thing but emacs will actually create a .emacs file in certain cases. For example when customizing variables or when enabling disabled commands.

Meanwhile, the large amount of lint of forgotten dot files in my home directory is annoying. But neither am I fond of the centralized scrapheap that is .gconf* or .config either. It just moves the lint to a new location.

icon foo at 20:55 on 1 January 2011

Please contribute to this effort:


icon Roguelazer at 21:12 on 1 January 2011

It'd be a pretty simple strace command line to find this information...

icon Steve Kemp at 21:28 on 1 January 2011

Sure finding files is easy with strace, but you could say the same about documentation. ("Finding out how it works is easy with the source code!").

"Foo" - Thanks for the pointer to the wiki page, that was an interesting resource.

Kelly - Thanks for that update. (I was using gconf as a shorthand for "organised storage system". Albeit perhaps not in a obvious fashion.)

icon Anonymous at 00:28 on 2 January 2011

I've learned a lot more about the dotfiles in my home directory since I started keeping many of them in git.

icon josef at 10:19 on 2 January 2011

It could be useful to turn the wiki list into a .gitignore file for all cache or otherwise non-roaming files, and then have something like etckeeper for $HOME with a simple frontend.