add and move stuff
This commit is contained in:
105
scripts/01_setup_configs.sh
Executable file
105
scripts/01_setup_configs.sh
Executable file
@@ -0,0 +1,105 @@
|
||||
#!/bin/bash
|
||||
|
||||
# cannot be used by multiple user, pacman.conf will be linked to the last invocating user
|
||||
|
||||
scriptdir=$(dirname $(realpath $BASH_SOURCE))
|
||||
echo "script dir $scriptdir"
|
||||
econfigdir=$(realpath $scriptdir/..)
|
||||
|
||||
echo "Setting up configs linking to $econfigdir"
|
||||
echo ""
|
||||
|
||||
function Sudo {
|
||||
local firstArg=$1
|
||||
if [ $(type -t $firstArg) = function ]
|
||||
then
|
||||
shift && command sudo bash -c "$(declare -f $firstArg);$firstArg $*"
|
||||
elif [ $(type -t $firstArg) = alias ]
|
||||
then
|
||||
alias sudo='\sudo '
|
||||
eval "sudo $@"
|
||||
else
|
||||
command sudo "$@"
|
||||
fi
|
||||
}
|
||||
link_file() {
|
||||
echo "linking file $2"
|
||||
if [ $(readlink -f $2) -ef $1 ]; then
|
||||
echo " is already linked like that"
|
||||
else
|
||||
ln -sbfv $1 $2
|
||||
fi
|
||||
echo ""
|
||||
}
|
||||
link_folder() {
|
||||
echo "linking folder $2"
|
||||
if [ $(is_link $2) -eq 0 ]; then
|
||||
# it is still a directory, create backup
|
||||
echo " is a dir (pointing to $(readlink -f $2)), creating backup at $2_original"
|
||||
mv -fvT --backup=numbered $2 $2_original
|
||||
fi
|
||||
if [ $(readlink -f $2) -ef $1 ]; then
|
||||
echo " is already linked like that"
|
||||
else
|
||||
ln -sbfvn $1 $2
|
||||
fi
|
||||
echo ""
|
||||
}
|
||||
is_link() {
|
||||
if [ $(readlink -f $1) = $1 ]; then
|
||||
echo 0
|
||||
else
|
||||
echo 1
|
||||
fi
|
||||
}
|
||||
|
||||
# bashrc
|
||||
link_file $econfigdir/home/bashrc $HOME/.bashrc
|
||||
link_folder $econfigdir/home/bashrc.d ~/.bashrc.d
|
||||
|
||||
# bash_aliases
|
||||
link_file $econfigdir/home/bash_aliases ~/.bash_aliases
|
||||
|
||||
# git config
|
||||
link_folder $econfigdir/config/git ~/.config/git
|
||||
|
||||
# pacman
|
||||
Sudo link_file $econfigdir/etc/pacman.conf /etc/pacman.conf
|
||||
|
||||
# i3 config
|
||||
link_folder $econfigdir/config/i3 ~/.config/i3
|
||||
mv ~/.i3 ~/.i3_original > /dev/null 2>&1
|
||||
|
||||
# alacritty
|
||||
link_folder $econfigdir/config/alacritty ~/.config/alacritty
|
||||
|
||||
# tmux
|
||||
link_file $econfigdir/home/tmux.conf ~/.tmux.conf
|
||||
link_folder $econfigdir/config/tmux ~/.config/tmux
|
||||
|
||||
# ranger
|
||||
link_folder $econfigdir/config/ranger ~/.config/ranger
|
||||
|
||||
# starship
|
||||
link_folder $econfigdir/config/starship ~/.config/starship
|
||||
|
||||
# bin
|
||||
link_file $econfigdir/bin/wtk_connect-vpn ~/.local/bin/wtk_connect-vpn
|
||||
link_file $econfigdir/bin/dmount ~/.local/bin/dmount
|
||||
link_file $econfigdir/bin/dumount ~/.local/bin/dumount
|
||||
|
||||
# nvim
|
||||
link_folder $econfigdir/config/nvim ~/.config/nvim
|
||||
|
||||
# lvim
|
||||
link_folder $econfigdir/config/lvim ~/.config/lvim
|
||||
|
||||
# gdbinit
|
||||
link_file $econfigdir/home/gdbinit ~/.gdbinit
|
||||
|
||||
# dunst
|
||||
link_folder $econfigdir/config/dunst ~/.config/dunst
|
||||
|
||||
# mplayer
|
||||
link_folder $econfigdir/home/mplayer ~/.mplayer
|
||||
|
||||
Reference in New Issue
Block a user