aboutsummaryrefslogtreecommitdiff
path: root/scripts/bootstrap.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/bootstrap.sh')
-rwxr-xr-xscripts/bootstrap.sh63
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 $@
+