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