-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.sh
executable file
·66 lines (52 loc) · 1.17 KB
/
install.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
#!/usr/bin/env zsh
#
# Links files in this directory to the current users home directory.
real_path () {
local cwd=`pwd`
[ -d $DIR ] && DIR=$1
[ -f $DIR ] && DIR=`dirname $1`
cd $DIR && echo `pwd` && cd $cwd
}
SCRIPT_DIR=$(real_path $0)
SCRIPT_PATH=${SCRIPT_DIR}/`basename $0`
FORCE=0
PREFIX=$HOME
while getopts "p:" flag; do
case "$flag" in
p) PREFIX=$OPTARG ;;
esac
done
PREFIX=${PREFIX%/}
function link() {
[ -z $2 ] && DST=.$1 || DST=$2
DST=${PREFIX}/$DST
SRC=${SCRIPT_DIR}/$1
ln -snf $SRC $DST
}
link vendor/prezto .zprezto
link vendor/prezto/runcoms/zlogin .zlogin
link vendor/prezto/runcoms/zlogout .zlogout
link vendor/prezto/runcoms/zshenv .zshenv
link vendor/k .k
link zsh/zpresztorc .zpreztorc
link zsh/zprofile .zprofile
link zsh/zshrc .zshrc
link vim/vimrc .vimrc
link vim
link git/gitconfig .gitconfig
link git/gitignore .gitignore
link tmux/tmux.conf .tmux.conf
link tmux
link inputrc
# Handle scripts
if [[ `uname` == "Darwin" ]]; then
link osx
link mjolnir
BIN_PATH=Scripts
else
BIN_PATH=bin
fi
[ -d $PREFIX/$BIN_PATH ] || mkdir $PREFIX/$BIN_PATH
for SCRIPT in `ls $SCRIPT_DIR/bin`; do
link bin/$SCRIPT $BIN_PATH/$SCRIPT
done