Introduction
I use a lot of Unix systems in my life, for personal business and for
work. One of the major problems I've had with doing this is dealing with
the small differences between platforms and networks, and just keeping my
configurations consistent between them. The uber-config is my attempt to
have one set of configuration files and use them everywhere.
And since I had such a nice setup, I figured I might as well share it.
Packages
The following packages have entries in the uber-config:
- csh/tcsh - Unix shell (no scripting!), plus
.login files.
- lynx - text-based web browser. Just two files: lynxrc and lynx.cfg
- mutt - text-based mail reader.
- vim - VI Improved (text editing)
Setup Hints
The uber-config is based on a CVS tree; all clients connect via SSH to
get a copy of the files. Everything is stored in ~/.config, appropriate
symlinks are then made into the tree. A basic initialization script
follows:
c!/bin/bash
DATE=`date +%Y-%m-%d`
mkdir ~/.old-${DATE}
for i in ~/.cshrc ~/.tcshrc ~/.abcde.conf ~/.login ~/.lynxrc ~/.lynx.cfg \
~/.vimrc ~/.nn ~/.gnupg ~/.subversion ~/.bashrc
do
if [ -f $i ] ; then
mv $i ~/.old-${DATE}
else
echo "no $i to move"
fi
done
## If appropriate procmail scripts are there, set those up instead; same goes
## for cronjobs and such.
~/.config/bin/getcron
ln -s ~/.config/misc/abcde.conf ~/.abcde.conf
ln -s ~/.config/cshrc ~/.cshrc
ln -s ~/.config/login ~/.login
# ln -s ~/.config/tcshrc ~/.tcshrc
ln -s ~/.config/vim/vimrc.default ~/.vimrc
ln -s ~/.config/bashrc ~/.bashrc
ln -s ~/.config/gnupg ~/.gnupg
ln -s ~/.config/subversion ~/.subversion
mkdir ~/.nn
ln -s ~/.config/nn/kill ~/.nn
ln -s ~/.config/nn/init ~/.nn
if ( -f ~/.config/screen/screenrc-`hostname` ); then
ln -s ~/.config/screen/screenrc-`hostname` ~/.screenrc
else
ln -s ~/.config/screen/screenrc ~/.screenrc
fi
echo "You're on your own for mutt, nn and ssh"
Download
To Do
I'm not done with this package yet, not by a longshot... Here's my
current to-do list.
o Firefox - bookmarks and such
o newsrc?
o Get the cron daily scripts to all run out of ~/.config/bin
o SpamAssassin configuration
Download