-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackages.sh
More file actions
executable file
·173 lines (149 loc) · 4.32 KB
/
Copy pathpackages.sh
File metadata and controls
executable file
·173 lines (149 loc) · 4.32 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
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
#!/usr/bin/env bash
# set -eu
function main() {
install_packages
install_yay
install_yay_packages
install_docker
install_virtualbox
install_electronics
install_latex
}
function install_packages() {
echo "--> Install aditional packages."
sudo pacman -S --noconfirm --needed \
alacritty \
bat \
fd \
ffmpeg \
go \
helix \
helm \
imagemagick \
jq \
kubectl \
lsd \
minikube \
nicotine+ \
p7zip \
percona-server-clients \
percona-toolkit \
poppler \
ripgrep \
shellcheck \
ttf-nerd-fonts-symbols \
virtualbox \
yazi \
zellij \
zoxide \
&> /dev/null
}
function install_yay() {
echo "--> Install yay tool."
if ! type "git" > /dev/null; then
echo "Could not find: git"
exit 1
fi
if ! type "makepkg" > /dev/null; then
echo "Could not find: makepkg"
exit 1
fi
if ! type "go" > /dev/null; then
echo "Could not find: go"
exit 1
fi
if ! type "yay" &> /dev/null; then
tmp="$(mktemp -d)"
mkdir -p "$tmp"
if [[ ! "${tmp}" || ! -d "${tmp}" ]]; then
echo "Could not find ${tmp} dir"
exit 1
fi
cd "$tmp" || return
git clone https://aur.archlinux.org/yay.git &> /dev/null
cd yay || return
makepkg -sif --noconfirm &> /dev/null
fi
}
function install_yay_packages() {
yay -Sy --noconfirm --needed \
aws-cli-v2 `# AWS CLI` \
aws-session-manager-plugin `# AWS CLI SSM Plugin` \
freetube `# YouTube player` \
google-chrome `# Google Chrome` \
google-cloud-cli `# Google Cloud Platform CLI` \
ivpn-ui `# VPN Client` \
mongosh-bin `# MongoDB client` \
rpk-bin `# Redpanda CLI` \
slack-desktop `# Slack` \
sql-workbench `# SQL Client` \
virtualbox-ext-oracle `# VirtualBox Extension Pack` \
vscodium-bin `# VS Code` \
zoom `# Zoom meeting client` \
&> /dev/null
}
function install_docker() {
echo "--> Install docker."
if ! command -v "docker" >/dev/null; then
sudo pacman -S docker docker-compose --noconfirm --needed &> /dev/null
sudo systemctl start docker.service &> /dev/null
sudo systemctl enable docker.service &> /dev/null
sudo usermod -aG docker "$USER" &> /dev/null
fi
}
function install_virtualbox() {
echo "--> Install VirtualBox."
sudo pacman -S --noconfirm --needed \
virtualbox \
&> /dev/null
yay -Sy --noconfirm --needed \
virtualbox-ext-oracle \
&> /dev/null
VBoxManage setextradata global GUI/SuppressMessages all &> /dev/null
}
function install_electronics() {
echo "--> Install packages for electronics."
sudo pacman -S --noconfirm --needed \
arduino-cli \
avr-binutils \
avr-gcc \
avr-gdb \
avr-libc \
avrdude \
dfu-programmer \
minicom \
kicad \
&> /dev/null
yay -Sy --noconfirm --needed \
tio \
&> /dev/null
# Install Arduino IDE 1.x:
tmp="$(mktemp -d)"
mkdir -p "$tmp"
if [[ ! "${tmp}" || ! -d "${tmp}" ]]; then
echo "Could not find ${tmp} dir"
exit 1
fi
cd "$tmp" || return
wget --quiet https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
tar -xf arduino-1.8.19-linux64.tar.xz > /dev/null 2>&1
cd arduino-1.8.19/ || return
sudo ./install.sh > /dev/null 2>&1
rm "$HOME"/Desktop/arduino-arduinoide.desktop
}
function install_latex() {
echo "--> Install packages for latex."
sudo pacman -S --noconfirm --needed \
texmaker \
texlive-latexextra \
texlive-fontsextra \
texlive-bibtexextra \
texlive-humanities \
texlive-langspanish \
texlive-latexextra \
texlive-mathscience \
texlive-pictures \
texlive-publishers \
&> /dev/null
}
main "$@"