-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsync.sh
executable file
·90 lines (78 loc) · 1.5 KB
/
sync.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/bash
function check_os (){
os="$(uname -a | awk '{print $1}')"
case $os in
"Linux")
export LINUX=1
;;
"Darwin")
export MAC=1
;;
esac
}
check_os
#SCRIPT TO SYNC FILES
BASE=$HOME/.dotfiles
#setup gitconfig
ln -sf $BASE/gitconfig $HOME/.gitconfig
# setup shortcuts
if [ ! -f $HOME/.scrc ];
then
touch $HOME/.scrc
fi
#setup linux_sync dir
if [ ! -d ./linux_sync ];
then
mkdir linux_sync
touch ./linux_sync/local_alias
fi
# vim
# switches on linux: target, link_name
if [ ! -d ~/.vim ]
then
ln -sf $BASE/vimrc $HOME/.vimrc
ln -sf $BASE/vim/ $HOME/.vim
fi
#make vim dirs
if [ ! -f $HOME/.viminfo ];
then
cp $HOME/.viminfo $BASE/vim/viminfo
rm $HOME/.viminfo
ln -sn $BASE/vim/viminfo $HOME/.viminfo
else
ln -sf $BASE/vim/viminfo $HOME/.viminfo
fi
if [ ! -d vim/undo/ ];
then
mkdir $BASE/vim/undo/
fi
if [ ! -d vim/tmp/ ];
then
mkdir $BASE/vim/tmp/
fi
#update vim-plug
#TODO: update to vim
#if [ ! -d vim/pack/ ];
# then
# mkdir $BASE/vim/pack/
# #generate helptags and install plugins
# nvim --headless +PlugInstall +q +q
# else
# nvim --headless +PlugUpgrade +q +q
# nvim --headless +PlugUpdate +q +q
#fi
#zsh
if [ ! -d $BASE/linux_sync/bin/ ];
then
mkdir $BASE/linux_sync/bin/
fi
ln -sf $BASE/zshrc $HOME/.zshrc
#tmux
if [ ! -d ~/.tmux ];
then
mkdir $BASE/tmux
ln -sf $BASE/tmux $HOME/.tmux
fi
ln -sf $BASE/tmux.conf $HOME/.tmux.conf
#submodules update
git submodule foreach git checkout master; git pull origin master;