Files
huhuhu_config/install.sh
2022-06-03 12:47:53 +02:00

83 lines
2.0 KiB
Bash

#!/bin/bash
cd $(dirname $0)
# COLORS
source ./asides/color.sh
KEY_PHRASE="#hugogogo#"
HERE=$(pwd)
D_CONFIG_FILES="config_files"
# create those folders if necessary :
mkdir -p ~/.vim/templates
mkdir -p ~/.vim/swapfiles
# receive 1 argument : absolute path to config file
function save_bak
{
local file_to="$1"
local file_name="$(basename $1)"
local path_file_to="$(dirname $1)"
number=0
while [ -f $file_to.hubak$number ]
do
((number+=1))
done
echo -en $YELLOW"in "
echo -en $CYAN"\"$path_file_to/\""
echo -en $YELLOW", saving "
echo -en $CYAN"\"$file_name\""
echo -en $YELLOW" as "
echo -en $CYAN"\"$file_name.hubak$number\""$ENDCO"\n"
mv $file_to $file_to.hubak$number
}
# receive 1 argument : absolute path to config file
function install
{
local file_to="$1"
local file_name="$(basename $1)"
local path_file_to="$(dirname $1)"
local create_sym=1
if [ -h $file_to ] && [ ! -e $file_to ]
then
echo -en $B_RED"$file_to is a broken symlink"$ENDCO"\n"
save_bak $file_to
elif [ -e $file_to ]
then
if [ ! "$(realpath "$file_to")" = "$HERE/config_files/$file_name" ]
then
echo -en $YELLOW"$file_to exist but is not the right file"$ENDCO"\n"
save_bak $file_to
else
create_sym=0
echo -en $YELLOW"$file_to is already the right file"$ENDCO"\n"
fi
else
echo -en $YELLOW"$file_to doesn't exist"$ENDCO"\n"
fi
if [ $create_sym -eq 1 ]
then
echo -en $YELLOW"create symlink of "
echo -en $CYAN"\"$file_name\""
echo -en $YELLOW" in "
echo -en $CYAN"\"$path_file_to\""$ENDCO"\n"
ln -s $HERE/$D_CONFIG_FILES/$file_name $file_to
fi
}
# argument : directory where the config file should go
install "$HOME/.screenrc"
install "$HOME/.vimrc"
install "$HOME/.zshrc"
install "$HOME/.vim/templates/skeleton_colors.h"
install "$HOME/.vim/templates/skeleton_tests.hpp"
install "$HOME/.vim/templates/skeleton.cpp"
install "$HOME/.vim/templates/skeleton.hpp"
install "$HOME/.vim/templates/skeleton_main.cpp"
install "$HOME/.vim/templates/skeleton_makefile"