-
Notifications
You must be signed in to change notification settings - Fork 0
/
meta-install
executable file
·98 lines (84 loc) · 1.64 KB
/
meta-install
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
#!/bin/sh -e
usage() {
cat << 'EOF'
Usage: meta-install <package(s)>
Install meta packages.
all - all packages.
net - network packages.
dev - development packages.
cups - CUPS with foomatic drivers.
obs - OBS with some plugins.
EOF
}
if [ $# -eq 0 ]; then
usage
exit 0
fi
while test $# -gt 0; do
case "$1" in
all) ALL_INSTALL=1 ;;
net) NET_INSTALL=1 ;;
dev) DEV_INSTALL=1 ;;
cups) CUPS_INSTALL=1 ;;
obs) OBS_INSTALL=1 ;;
-h|--help|help)
usage
exit 0
;;
*)
echo "error: unrecognized parameter '$1'"
exit 1
;;
esac
shift
done
meta_test() {
if [ -n "$ALL_INSTALL" ] || [ -n "$1" ]; then
return 0
fi
return 1
}
PACKAGES=""
meta_test "$NET_INSTALL" && PACKAGES="$PACKAGES \
openssh \
bind nmap \
wget yt-dlp \
proxychains-ng \
iperf3 speedtest-cli \
"
meta_test "$DEV_INSTALL" && PACKAGES="$PACKAGES \
lazygit \
docker \
sqlite \
nodejs npm ts-node \
php xdebug \
go \
python-pip python-virtualenv \
shellcheck \
"
meta_test "$CUPS_INSTALL" && PACKAGES="$PACKAGES \
cups \
avahi \
foomatic-db-engine \
foomatic-db \
foomatic-db-ppds \
foomatic-db-nonfree \
foomatic-db-nonfree-ppds \
foo2zjs-nightly \
"
meta_test "$OBS_INSTALL" && PACKAGES="$PACKAGES \
obs-studio-git \
obs-vaapi \
obs-kmsgrab wlrobs \
obs-pipewire-audio-capture-bin \
obs-vkcapture \
obs-ndi-bin \
obs-vban \
obs-backgroundremoval \
obs-plugin-tuna-bin \
obs-streamfx \
"
pkgs install "$PACKAGES"
meta_test "$CUPS_INSTALL" && sudo systemctl enable --now cups.service avahi-daemon.service
meta_test "$OBS_INSTALL" && sudo systemctl enable --now avahi-daemon.service
echo "meta-install done."