-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.sh
executable file
·80 lines (70 loc) · 2.48 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
# define colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
ESSENTIAL_PACKAGES="build-essential tmux git vim curl wget zsh gdb gdb-multiarch python3 python3-pip python3-dev net-tools openssh-server"
print_message() {
local indent=$1
local type=$2
local message=$3
local spaces=$(printf '%*s' $indent)
case $type in
"info")
echo -e "${spaces}${YELLOW}[*] ${message}${NC}"
;;
"success")
echo -e "${spaces}${GREEN}[+] ${message}${NC}"
;;
"error")
echo -e "${spaces}${RED}[!] ${message}${NC}"
;;
*)
echo -e "${spaces}${message}"
;;
esac
}
# update source list and install essential packages
print_message 0 "info" "Updating source list and installing essential packages"
sudo apt-get update -y
sudo apt-get install -y ${ESSENTIAL_PACKAGES}
CURRENT_DIR=$(pwd)
# install and config oh-my-zsh
print_message 0 "info" "Installing oh-my-zsh"
echo "Y" | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
sed -i 's/^ZSH_THEME="robbyrussell"/ZSH_THEME="ys"/' $HOME/.zshrc
sed -i '/^PROMPT=/{N;s/\n//}' $HOME/.oh-my-zsh/themes/ys.zsh-theme
source $HOME/.zshrc
# install and config vim
install_vim() {
print_message 0 "info" "Installing vim"
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
git clone https://github.com/altercation/vim-colors-solarized.git $HOME/.vim/plugged/vim-colors-solarized
cp $CURRENT_DIR/.vimrc $HOME/.vimrc
mkdir -p $HOME/.vim/colors
cp $HOME/.vim/plugged/vim-colors-solarized/colors/solarized.vim $HOME/.vim/colors/
vim +PlugInstall +qall
$HOME/.vim/plugged/YouCompleteMe/install.sh
}
# install and config tmux
install_tmux() {
print_message 0 "info" "Installing tmux"
git clone https://github.com/gpakosz/.tmux.git $HOME/.tmux
ln -s -f $HOME/.tmux/.tmux.conf $HOME/.tmux.conf
cp $HOME/.tmux/.tmux.conf.local $HOME/
sed -i '/set -g prefix2 C-a/s/^/#/' $HOME/.tmux/.tmux.conf
sed -i '/bind C-a send-prefix -2/s/^/#/' $HOME/.tmux/.tmux.conf
}
# install and config gdb
install_gdb(){
print_message 0 "info" "Installing gdb"
git clone https://github.com/pwndbg/pwndbg.git $HOME/.pwndbg
cd $HOME/.pwndbg && ./setup.sh && cd $CURRENT_DIR
git clone https://github.com/jerdna-regeiz/splitmind.git $HOME/.splitmind
cp $CURRENT_DIR/.gdbinit $HOME/.gdbinit
}
install_vim
install_tmux
install_gdb