-
Notifications
You must be signed in to change notification settings - Fork 39
/
install_packages_dump.sh
executable file
·206 lines (186 loc) · 3.87 KB
/
install_packages_dump.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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
#!/usr/bin/env bash
clear
forceflag=false
while getopts 'f' flag; do
case "${flag}" in
f) forceflag=true ;;
*) error "Invalid option ${flag}" ;;
esac
done
echo "INSTALLING PACKAGES FOR EPITECH'S DUMP"
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
cat /etc/issue | ( grep "Ubuntu 23.10\|Ubuntu 24.04" )
if [[ $? -ne 0 ]]; then
echo "This script must be run onto an Ubuntu 23.10 or 24.04";
exit 1
fi
if [[ $forceflag == false ]]; then
echo "Press ENTER to continue..."
read
fi
add-apt-repository -y -s universe
apt update
apt upgrade -y
echo "wireshark-common wireshark-common/install-setuid boolean true" | debconf-set-selections
packages_list=(
avr-libc
build-essential
ca-certificates-java
cabal-install
cargo
clang
clang-tools
cmake
curl
diffutils
docker-compose
docker.io
elfutils
elpa-tuareg
emacs-nox
ffmpeg
flac
gcovr
ghc
golang
haskell-stack
ksh
liballegro5-dev
libboost1.74-all-dev
libc-bin
libc-dev-bin
libc-devtools
libc6
libc6-dbg
libcsfml-dev
libcsfml-doc
libcunit1
libcunit1-dev
libelf-dev
libfreetype-dev
libgmp-dev
libgmp10
libgmp10-doc
libgmp3-dev
libgmpxx4ldbl
libgudev-1.0-dev
libirrlicht-dev
libirrlicht1.8
libjpeg-turbo8-dev
libncurses-dev
libopenal-dev
libsdl2-dev
libsfml-doc
libuuid1
libvirt-dev
libvorbis-dev
libx11-doc
libx11-xcb-dev
libxcb-image0
libxcb-image0-dev
libxcb-util-dev
libxcb-util0-dev
libxcb-util1
libxcursor-dev
libxext-dev
libxext-doc
libxi-dev
libxinerama-dev
libxrandr-dev
locales
ltrace
mariadb-server
nasm
ncurses-base
net-tools
npm
nodejs
openjdk-21-jdk
openjdk-21-jre
php-bcmath
php-dev
php-gd
php-mbstring
php-mysql
php-phar-io-version
php-php-gettext
php-tokenizer
python3
python3-pycryptodome
python3-dev
python3-numpy
python3-pip
python3-pyte
python3-requests
python3-yaml
qt6-base-dev
qt6-base-dev-tools
rlwrap
ruby
rustc
strace
sudo
systemd-dev
tar
tcpdump
tcsh
tmux
tree
unzip
uuid-dev
valgrind
vim
virt-manager
wireshark
x264
zip
zsh
)
export DEBIAN_FRONTEND=noninteractive
apt -y install ${packages_list[@]}
## Microsoft teams
snap install teams-for-linux
## Bun
npm install -g bun
# Criterion
curl -sSL "https://github.com/Snaipe/Criterion/releases/download/v2.4.2/criterion-2.4.2-linux-x86_64.tar.xz" -o criterion-2.4.2.tar.xz
tar xf criterion-2.4.2.tar.xz
cp -r criterion-2.4.2/* /usr/local/
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local.conf
ldconfig
rm -rf criterion-2.4.2.tar.xz criterion-2.4.2/
# Gradle
if [[ ! -d "/opt/gradle/gradle-8.7" ]]; then
wget https://services.gradle.org/distributions/gradle-8.7-bin.zip
mkdir /opt/gradle && unzip -d /opt/gradle gradle-8.7-bin.zip && rm -f gradle-8.7-bin.zip
echo 'export PATH=$PATH:/opt/gradle/gradle-8.7/bin' >> /etc/profile
fi
# Get current user
if [ -z "${SUDO_USER}" ];
then
script_user="$USER"
else
script_user="$SUDO_USER"
fi
# CONFIG EMACS
git clone https://github.com/Epitech/epitech-emacs.git
cd epitech-emacs
git checkout cd3cfb80c3f9ef039187464be9376b38cd40f375
./INSTALL.sh system
sudo -u "$script_user" ./INSTALL.sh local
cd .. && rm -rf epitech-emacs
# CONFIG VIM
git clone https://github.com/Epitech/vim-epitech.git
cd vim-epitech
git checkout b97cab4bd988dc2a8432664dd43b4656d9931ce3
./install.sh system
./install.sh local
./install.sh "$script_user"
cd .. && rm -rf vim-epitech
# Coding style
wget https://raw.githubusercontent.com/Epitech/coding-style-checker/main/coding-style.sh -P /tmp/
chmod +x /tmp/coding-style.sh
mv /tmp/coding-style.sh /usr/local/bin/coding-style