-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstall.sh
124 lines (96 loc) · 2.65 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
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
#!/bin/bash
trap - SIGINT
release=$(lsb_release -r | tail -n1 | awk '{print $2}' | cut -d. -f1)
case $release in
20 | 21)
codename=focal
;;
22 | 23)
codename=jammy
;;
24 | 25)
codename=noble
;;
esac
echo ubuntu default configs and key bindings
. default-setup.sh
sudo apt update -y
sudo apt upgrade -y
# dependencies installation
sudo apt-get install -y --fix-missing \
dbus-x11 \
gnome-shell-extensions \
gnome-tweaks \
dconf-editor \
curl \
vim \
git \
nemo \
zsh \
neovim \
mc \
gdebi
# set nemo as default file manager
xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search
gsettings set org.nemo.desktop show-desktop-icons true
gsettings set org.gnome.desktop.background show-desktop-icons false
PS3="Select your Webservice: "
select webservice in nginx apache2; do
printf "\e[32m%s\e[0m will be installed\n" $webservice
case $webservice in
nginx)
sudo apt-get install -y $webservice
break
;;
apache2)
sudo apt-get install -y $webservice
break
;;
*)
echo "Invalid option $REPLY"
;;
esac
done
sudo systemctl enable --now $webservice
echo php installing...
. php.sh
echo composer installing...
. composer.sh
echo laravel installing...
. laravel.sh
echo vscode installing...
. vscode.sh
echo docker installing...
. docker.sh
echo mariadb installing...
sudo apt install -y mariadb-server
echo postgresql installing...
. postgresql.sh
echo nodeJS installing...
. node.sh
echo pnpm installing...
. pnpm.sh
echo Redis Stack installing...
. redis-stack.sh
echo RabbitMQ Stack installing...
. rabbit.sh
echo Google Chrome installing...
. google-chrome.sh
if [ ! -d $HOME/.oh-my-zsh ]; then
echo ohmyzsh installing...
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fi
# ZSH plugins
ZSH_CUSTOM=$HOME/.oh-my-zsh/custom
sed -i 's/plugins=(git)/plugins=(\n\tgit\n\tubuntu\n\tlaravel\n\tsymfony\n\taliases\n\tdocker\n\tfzf-zsh-plugin\n\tzsh-autosuggestions\n\tzsh-syntax-highlighting\n)/g' $HOME/.zshrc
cp .aliases $HOME/.aliases
cp .variables $HOME/.variables
cp .functions $HOME/.functions
cat <<EOF >>$HOME/.zshrc
. $HOME/.aliases
. $HOME/.variables
. $HOME/.functions
EOF
git clone --depth 1 https://github.com/unixorn/fzf-zsh-plugin.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-zsh-plugin
git clone --depth 1 https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
git clone --depth 1 https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting