-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·141 lines (126 loc) · 3.46 KB
/
install.sh
File metadata and controls
executable file
·141 lines (126 loc) · 3.46 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#!/bin/bash
ORIGIN=$(pwd)
LOG="${ORIGIN}/install_log.txt"
CHECK="\033[0;32m✔︎\033[m"
ERROR="\033[0;31m✖\033[m"
INDENT="\0 \0 "
function log {
echo -ne $1 | tee -a $LOG
}
function logn {
echo -e $1 | tee -a $LOG
}
function status_out {
if [ $? -ne 0 ]; then
logn $ERROR
else
logn $CHECK
fi
}
if [ -f $LOG ]; then
rm $LOG
fi
log "Checking for git"
if [ ! `which git` ]; then
log "\n${INDENT}Installing git.........."
sudo pacman -Sy --noconfirm git >> $LOG 2>&1
status_out
else
logn "..........$CHECK"
fi
log "Checking for curl"
if [ ! `which curl` ]; then
log "\n${INDENT}Installing curl........."
sudo pacman -S --noconfirm curl >> $LOG 2>&1
status_out
else
logn ".........$CHECK"
fi
log "Checking for vim"
if [ ! `which vim` ]; then
log "\n${INDENT}Installing vim.........."
sudo pacman -S --noconfirm vim >> $LOG 2>&1
status_out
else
logn "..........$CHECK"
fi
log "Checking for go"
if [ ! `which go` ]; then
log "\n${INDENT}Installing go..........."
sudo pacman -S --noconfirm go >> $LOG 2>&1
status_out
else
logn "...........$CHECK"
fi
log "Checking for mono"
if [ ! `which mono` ]; then
log "\n${INDENT}Installing mono........."
sudo pacman -S --noconfirm mono >> $LOG 2>&1
status_out
else
logn ".........$CHECK"
fi
log "Checking for zsh"
if [ ! `which zsh` ]; then
log "\n${INDENT}Installing zsh.........."
sudo pacman -S --noconfirm zsh >> $LOG 2>&1
status_out
else
logn "..........$CHECK"
fi
if [ ! -d $HOME/dotfiles ]; then
log "Installing dotfiles.......\n${INDENT}Cloning into dotfiles..."
git clone https://github.com/zanothis/setup.git $HOME/dotfiles >> $LOG 2>&1
status_out
if [ $? -eq 0 ]; then
log "\n${INDENT}Linking dotfiles to \"$HOME\"..."
#log "\n${INDENT}${INDENT}Linking .screenrc....."
#ln -s $HOME/dotfiles/.screenrc $HOME/.screenrc
#log "$CHECK\n${INDENT}${INDENT}Linking .inputrc......"
#ln -s $HOME/dotfiles/.inputrc $HOME/.inputrc
log "$CHECK\n${INDENT}${INDENT}Linking configs......."
mv $HOME/.config $HOME/.config.bak
mv $HOME/.i3 $HOME/.i3.bak
cp -sbr $HOME/dotfiles/.config $HOME/.config
cp -sbr $HOME/.config/i3 $HOME/.i3
log "$CHECK\n${INDENT}${INDENT}Linking .vimrc........"
ln -s $HOME/dotfiles/.vimrc $HOME/.vimrc
log "$CHECK\n${INDENT}${INDENT}Linking .gitconfig...."
ln -s $HOME/dotfiles/.gitconfig $HOME/.gitconfig
log "$CHECK\n${INDENT}${INDENT}Linking .gitmessage..."
ln -s $HOME/dotfiles/.gitmessage $HOME/.gitmessage
log "$CHECK\n${INDENT}${INDENT}Linking .zshrc........"
mv $HOME/.zshrc $HOME/.zshrc.bak
ln -s $HOME/dotfiles/.zshrc $HOME/.zshrc
logn $CHECK
fi
else
log "Updating dotfiles........."
cd $HOME/dotfiles
git up >> $LOG 2>&1
status_out
cd $ORIGIN
fi
log "Checking for Antigen"
if [ ! -f $HOME/dotfiles/antigen.zsh ]; then
log "\n${INDENT}Installing Antigen......"
curl -L git.io/antigen > $HOME/dotfiles/antigen.zsh 2>&1
status_out
log "${INDENT}Linking antigen.zsh....."
mkdir -p $HOME/.config/zsh/
ln -s $HOME/dotfiles/antigen.zsh $HOME/.config/zsh/antigen.zsh
status_out
fi
if [ ! -f $HOME/.vim/autoload/plug.vim ]; then
log "Installing plug-vim......."
curl -fLo $HOME/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
status_out
log "Installing vim plugins...."
vim +PlugInstall +qall
status_out
fi
if [ $SHELL != "/usr/bin/zsh" ]; then
log "Activating zsh............"
chsh -s $(which zsh)
status_out
fi