diff options
Diffstat (limited to 'scripts/bootstrap.sh')
-rwxr-xr-x | scripts/bootstrap.sh | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh new file mode 100755 index 0000000..fdc8003 --- /dev/null +++ b/scripts/bootstrap.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +dotfiles_dir=$(cd -- "$(dirname ${BASH_SOURCE})" > /dev/null 2>&1; pwd -P) + +remove_and_link () { + for var in $@ + do + if [ -L $HOME/$var ] && [ -e $HOME/$var ] && \ + [ "$(readlink -- $HOME/$var)" = "$dotfiles_dir/$var" ]; then + continue + fi + + rm -rf $HOME/$var + ln -s $dotfiles_dir/$var $HOME/$var + echo "Linked: $HOME/$var -> $dotfiles_dir/$var" + done +} + +link_all () { + remove_and_link .ctags.d .mutt bin .aliases .macos \ + .mbsyncrc .msmtprc .tmux.conf .urlview .zshrc \ + .vimrc .vim .path .functions .emacs.d .gitconfig \ + .config/i3 .config/polybar .xinitrc .pam_environment \ + .zprofile .newsboat .ledgerrc .nnnrc +} + +main () { + if [ $# -eq 0 ] || [ $1 = 'all' ]; then + link_all + return + fi + + if [ $1 = 'install' ]; then + install + return + fi + + remove_and_link $@ +} + +install () { + if [ -f '/etc/arch-release' ]; then + arch_install + else + echo "No script for this OS" + fi +} + +arch_install () { + sudo pacman -Syu git xorg-server xorg-xinit networkmanager alsa-utils \ + openssh keepassxc bluez bluez-utils \ + adobe-source-han-serif-cn-fonts adobe-source-han-sans-cn-fonts \ + wqy-zenhei wqy-microhei wqy-microhei-lite wqy-bitmapfont \ + noto-fonts-cjk noto-fonts-emoji noto-fonts-extra \ + firefox steam \ + fcitx5-im fcitx5-chinese-addons fcitx5-anthy fcitx5-pinyin-zhwiki \ + i3-wm + + echo 'Please remember to install GPU driver' +} + +main $@ + |