dot_config/setup.sh

33 lines
888 B
Bash
Executable File

#!/bin/bash
# outcome: replace existing dot files with symlinks pointing to new version controlled files
# setup folder pointers and target files
dir=~/linux_user_setup
backup=~/linux_user_setup_restore
files=".bashrc .vimrc .tmux.conf .psqlrc"
# create the resore directory if it doesn't already exist
if [ ! -d $backup ]
then
mkdir $backup
fi
# loop through each target file, move it and create a symlink to the replacements
for file in $files
do
#if the file is not a symlink the just _move_ it, otherwise _copy_ the linked file
if [ ! -L $file ];
then
echo "moving $file to $backup"
mv ~/$file $backup
echo "snapping $file to be a new symlink to version controlled file in $dir"
ln -s $dir/$file ~/$file
else
# if the target file is a symlink, copy the linked file
cp $(readlink -f $file) $backup
fi
done