dotfiles/bootstrap.sh

63 lines
2.6 KiB
Shell
Raw Normal View History

2016-04-08 01:39:33 +01:00
#!/usr/bin/env zsh
# Current dir
BASEDIR=$(pwd)
# Update git submodules
2016-07-13 13:38:11 +01:00
echo "Updating git submodules"
git submodule init && git submodule update
2016-04-08 01:39:33 +01:00
# ln the various files
2016-07-13 13:38:11 +01:00
echo "Sym-linking the various config files"
2016-04-08 03:42:12 +01:00
test -L $HOME/.gitignore || ln -f -s $BASEDIR/gitignore $HOME/.gitignore
2016-04-08 03:37:25 +01:00
test -L $HOME/.hushlogin || ln -f -s $BASEDIR/hushlogin $HOME/.hushlogin
2017-12-10 12:01:30 +00:00
test -L $HOME/.tmux.conf || ln -f -s $BASEDIR/tmux $HOME/.tmux.conf
test -d $HOME/.config/sheldon || mkdir $HOME/.config/sheldon
test -L $HOME/.config/sheldon/plugins.toml || ln -f -s $BASEDIR/sheldon.toml $HOME/.config/sheldon/plugins.toml
test -L $HOME/.zsh || ln -f -s $BASEDIR/zsh $HOME/.zsh
test -L $HOME/.zshrc || ln -f -s $BASEDIR/zshrc.zsh $HOME/.zshrc
test -d $HOME/.config/delta || mkdir $HOME/.config/delta
test -L $HOME/.config/delta/themes.gitconfig || ln -f -s $BASEDIR/delta-themes.gitconfig $HOME/.config/delta/themes.gitconfig
2016-04-08 01:39:33 +01:00
2025-01-18 21:18:34 +00:00
# If ghostty is installed on the system then setup the config
if (( ${+commands[ghostty]} )); then
test -d $HOME/.config/ghostty || mkdir $HOME/.config/ghostty
test -L $HOME/.config/ghostty/config || ln -f -s $BASEDIR/ghostty/config $HOME/.config/ghostty/config
test -d $HOME/.config/ghostty/themes || mkdir $HOME/.config/ghostty/themes
test -L $HOME/.config/ghostty/themes/tangere-dark.conf || ln -f -s $BASEDIR/ghostty/themes/tangere-dark $HOME/.config/ghostty/themes/tangere-dark.conf
test -L $HOME/.config/ghostty/themes/tangere-light.conf || ln -f -s $BASEDIR/ghostty/themes/tangere-light $HOME/.config/ghostty/themes/tangere-light.conf
2025-01-18 21:18:34 +00:00
fi
2024-04-29 18:22:54 +01:00
# setup gpg conf
test -d $HOME/.gnupg || mkdir $HOME/.gnupg
cp -f $BASEDIR/gnupg/common.conf $HOME/.gnupg/common.conf
cp -f $BASEDIR/gnupg/dirmngr.conf $HOME/.gnupg/dirmngr.conf
cp -f $BASEDIR/gnupg/gpg.conf $HOME/.gnupg/gpg.conf
chmod 700 $HOME/.gnupg
chmod 640 $HOME/.gnupg/common.conf
chmod 640 $HOME/.gnupg/dirmngr.conf
chmod 640 $HOME/.gnupg/gpg.conf
echo "Setting up NeoVim"
test -d $HOME/.config/nvim && rm -rf $HOME/.config/nvim
ln -s $BASEDIR/neovim $HOME/.config/nvim
2026-01-15 18:26:29 +00:00
# Clean up old vim configuration if it exists
if [ -L "$HOME/.vimrc" ] || [ -f "$HOME/.vimrc" ]; then
echo "Removing old vim configuration"
rm -f $HOME/.vimrc
fi
if [ -L "$HOME/.vim" ] || [ -d "$HOME/.vim" ]; then
rm -rf $HOME/.vim
fi
2016-04-08 01:39:33 +01:00
# .gitconfig gets edited by .extra so we wont symlink it, but copy it
2016-07-13 13:38:11 +01:00
echo "For compatability we chall copy the global gitconfig"
2016-04-08 01:39:33 +01:00
cp $BASEDIR/gitconfig $HOME/.gitconfig
2025-03-16 16:13:47 +00:00
# Copy the progs into the local bin dir
rsync -av --chmod=+x $BASEDIR/bin/ $HOME/.local/bin/
2016-04-08 01:39:33 +01:00
# Source zshrc
2016-07-13 13:38:11 +01:00
echo "And finally, source the .zshrc"
2016-04-08 01:39:33 +01:00
source $HOME/.zshrc