If I can help, here is a script from my ~/etc/ It will list all the files in its directory, dump them in a file on /tmp/, ask you to edit the file, and create a symlink for each file.
cat <<EOF > $TMPFILE
##
## Here is an auto-generated file for linking
## config file to your $home directory
##
##Â The $0 script will read filenames from that
##Â file in order to create ONLY the links you
##Â want.
##
## The following list lists every. single. file
##Â or directory. Just remove the line that you
##Â don't want to be linked.
## Then, save that file, and watch the magic happen...
##
EOF
echo "listing the whole directory"
ls $PWD >> $TMPFILE
$EDITOR $TMPFILE
echo "simulating..."
for f in $(grep -v '^#' $TMPFILE); do
echo "$f -> ~/.$f"
done
echo "attempting to link config file to ~ ..."
read -p "Hit <Enter> to continue, <Ctrl-C> to abort..."
for f in $(grep -v '^#' $TMPFILE); do
ln -s $PWD/$f ~/.$f
if [ -L ~/.$f ] ; then
echo "$OK -> $f"
else
echo "$NOPE -> $f"
fi
done
echo "removing temporary files"
rm $TMPFILE
echo "finished."
File list comment/delete de files you dont want to see)
Code:
##
## Here is an auto-generated file for linking
## config file to your directory
##
##Â The ./copy.sh script will read filenames from that
##Â file in order to create ONLY the links you
##Â want.
##
## The following list lists every. single. file
##Â or directory. Just remove the line that you
##Â don't want to be linked.
## Then, save that file, and watch the magic happen...
##
bashrc
#copy.sh
cwmrc
elinks
#evilwmrc
#irssi
mutt
#ncmpcpp
#openbox
#ratpoisonrc
#rtorrent.rc
#screenrc
#tint2
tmux.conf
vim
vimrc
xbindkeysrc
xinitrc
Xresources
#zshrc
This will create a symlink for every uncommented line, by appending a '~/.' before the filename (bashrc -> ~/.bashrc).
Once you're done editing the list, it will simulate the linking, so that you can check that it does it the way you want. Presse <Enter> to proceed, <Ctrl-C> to abort. Finally, watch the linking going!
It has saved me a lot of pain seting up new machines :)