A slow realization: many of my dotfiles don't need to be dotfiles
Like many Unix people, I have a slowly accumulating drift of dotfiles
(and dot-directories) cluttering up my $HOME
. It has recently struck
me that a certain amount of these dotfiles are in fact a self-inflicted
injury, by which I mean that they don't actually have to be dotfiles in
$HOME
and I could move them elsewhere if I wanted to. There are two
variants of this injury.
The first variety is where I have simply made a file a dotfile in
$HOME
out of reflexive habit. There is no system-supplied program that
expects to find it there; I have simply needed a file for some purpose
and made it a dotfile because it seemed to make sense. For example,
I have a set of X resource files that I made into dotfiles basically
just because. Since it's my X startup script that loads them into the X
server, they could perfectly well live in, say, $HOME/lib/X11
under
some set of sensible (and visible) names.
(Often there is some sort of vague link to something that was a necessary dotfile back in history.)
The second variety is where a program defaults to using a dotfile but this can be changed with a command line option and I already run the program in some automated way (through a cover script or the like). Here I can perfectly well change my automation to relocate the dotfile to some better place. There are probably a number of programs I'm running like this.
(Similar to this is things that can be moved with an environment
variable, like $INPUTRC
for $HOME/.inputrc
.)
Certainly going forward I think my rule is going to be that I won't
create any new dotfiles unless I have absolutely no choice. Relocating
existing ones, well, I have a lot of inertia and my existing setup
works, it's just got a massive clutter in $HOME
that I can't see
unless I do an 'ls -a
'.
(Why dotfiles are a bad idea is probably not necessarily obvious, but that's another entry.)
PS: what brought this realization on was building out a version of my environment for Cinnamon on my laptop. When I was copying dotfiles over to the laptop and working on them I started asking myself why they actually were dotfiles instead of being organized somewhere sensible where I could see them.
|
|