dotfiles/setup.sh
2022-02-15 08:34:33 +01:00

52 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
set -u
mkdir -p ~/.config/homedir-backup 2>/dev/null
function linkfiles {
for file in $@; do
name=$(basename $file)
dir=$(dirname $file)
if [ "$dir" == "dotfiles" ] ; then
targetdir=""
else
targetdir="$dir/"
fi
if [ ! -L ~/.${targetdir}${name} ] ; then
if [ -f hosts/$(hostname -s)/${name} ] ; then
dotfile="$(pwd)/hosts/$(hostname -s)/${name}"
else
dotfile="$(pwd)/$dir/${name}"
fi
mv -v ~/.${targetdir}${name} ~/.config/homedir-backup
ln -s "$dotfile" ~/.${targetdir}${name}
fi
done
}
linkfiles 'dotfiles/*'
git clone https://github.com/NvChad/NvChad ~/.config/nvim
nvim -c "autocmd User PackerComplete quitall" -c "PackerSync"
linkfiles 'config/*'
# Install powerline if possible
if which pip3 ; then
pip3 install --user -U -r requirements.txt
else
[ ! -d ~/.bash-git-prompt ] && git clone https://github.com/nold360/bash-git-prompt.git ~/.bash-git-prompt
fi
# Install vundle plugin manager & plugins
mkdir -p ~/.vim/bundle 2>/dev/null
[ ! -d ~/.vim/bundle/Vundle.vim ] && git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
vim -c ":PluginInstall" -c ":q" -c ":q"
# Tmux Plugin Manager
mkdir -p ~/.tmux/plugins 2>/dev/null
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
grep -qE "^source.*$(pwd)/bashrc" ~/.bashrc || echo "source $(pwd)/bashrc" >> ~/.bashrc
echo Done