Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: syncing .zsh* files

I have all my zsh configurations stored in CVS on a host I can access with 
CVS_RSH=ssh.  They're designed to be checked out into a directory ~/.zsh 
on each host, and then I have a little installer script that sets up a 
~/.zshenv file which does nothing more than assign ZDOTDIR=~/.zsh and then 
source the ~/.zsh/.zshenv file.  (If ZDOTDIR is already set, the ~/.zshenv
is never seen, so there's no reason to e.g. guard this with an "if".)

There can be a subdirectory named "local" in the .zsh directory from which 
host-specific files, if they exist, are sourced by the ~/.zsh/.zshrc 
(etc.) files.  I keep a set of subdirectories named for the host or domain 
(e.g. all hosts at work use the same one); those are checked into CVS and 
then I symlink the name "local" to the correct one for each install.

At first I tried organizing everything by host architecture or OS, but I 
ended up dividing it by, for lack of a better term, purpose -- things 
needed in all shells, in interactive shells, just once when starting a new 
session (e.g., before X11 startup), etc., and then sometimes subdividing 
into options, bindings, completion, terminal handling, etc. There's one 
file that sets up aliases or functions to mask differences in default 
behavior of ps, ls, df, etc. on different architectures, but most of the 
case-statements on $HOSTTYPE are scattered in various files because I 
could never find a common place in the startup sequence to do all of that 
at once.

Messages sorted by: Reverse Date, Date, Thread, Author