Re: $HOME/.dotfiles and FHS 2.3 (was: Comparing FHS 2.3 and 2.1)
On Fri, Oct 29, 2004 at 04:53:29PM +0200, Frank Küster wrote:
> > * bash reads and writes a number of files in ~/ (.bash_profile,
> > .bashrc, .bash_history)
> > * there are several directories related to GNOME (at least ~/.gnome2
> > and ~/.gnome2_private)
> > * vim has ~/.vimrc, ~/.viminfo (configure IIRC), ~/.vim/
>
> They should probably use their own directory in the future. I think
> this would really be a good idea.
I don't think so. It's a matter of interoperability. If the guys
writing the FHS don't care about this it's their problem, but I've
worked for many years in environments where my home is shared among
computers with different operating systems (e.g. Linux, IRIX, HP/UX and
Solaris), and the prospect of increasing complexity in order to
accommodate something like the FHS doesn't appeal to me. I _do_ split
things like .bash_profile across several files in ~/.bash/.
Nevertheless I know that bash reads ~/.bashrc; introducing something
that deviates from this on some platforms buys the user little benefit.
By the way, you can get rid of ~/.viminfo by adding n~/.vim/viminfo to
viminfo.
> > * Window Maker stores its configuration across several files and
> > directories under ~/GNUstep (configurable) (and no, I won't change
> > the default because it's configurable via an environment variable)
>
> I was always annoyed by this, and it's not easy to find the solution
> in the documentation (I only learned of the environment variable in
> this thread). Why not change the default, when everybody can get back
> the original buggy behavior by setting an environment variable?
It's in the manual page:
GNUSTEP_USER_ROOT
specifies the initial path for the Defaults
directory. "Defaults/" is appended to this variable to
determine the actual location of the databases. If
the varialbe is not set, it defaults to "~/GNUstep"
patches to improve wording or make it easier to understand (or for that
matter, to add a whole new section to the manpage if you think that's
the solution) are always welcomed.
I guess something like this would work:
if test -z "$GNUSTEP_USER_ROOT" ; then
if test -d "$HOME/GNUstep" ; then
GNUSTEP_USER_ROOT="$HOME/GNUstep"
else
GNUSTEP_USER_ROOT="$HOME/.GNUstep"
fi
but I have the same interoperatibility problem again. This deviates
from the upstream default behaviour.
Marcelo
Reply to: