-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
76 lines (65 loc) · 2.22 KB
/
setup.sh
File metadata and controls
76 lines (65 loc) · 2.22 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
#!/bin/bash
# Visual styling
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
BOLD='\033[1m'
NC='\033[0m'
echo -n "Checking Desktop Environment... "
if [[ "$XDG_CURRENT_DESKTOP" == *"GNOME"* ]] || [[ "$XDG_CURRENT_DESKTOP" == *"gnome"* ]]; then
echo -e "${GREEN}[PASS] GNOME Detected${NC}"
else
echo -e "${RED}[FAIL] GNOME not detected ($XDG_CURRENT_DESKTOP). Aborting.${NC}"
exit 1
fi
echo -n "Detecting Distribution... "
if [ -f /etc/os-release ]; then
. /etc/os-release
DISTRO=$ID
LIKE=$ID_LIKE
fi
export DISTRO_FAMILY=""
export INSTALL_CMD=""
export PKG_EXT_MAN=""
export PKG_PIP=""
export PKG_PIPX=""
export PKG_GLIB=""
export PKG_GNOME_EXT=""
export PKG_IMAGEMAGICK=""
if [[ "$DISTRO" == "ubuntu" ]] || [[ "$DISTRO" == "debian" ]] || [[ "$LIKE" == *"ubuntu"* ]] || [[ "$LIKE" == *"debian"* ]]; then
echo -e "${GREEN}[PASS] Debian/Ubuntu Based Distro${NC}"
export DISTRO_FAMILY="debian"
export INSTALL_CMD="sudo apt install -y"
# for APT
export PKG_EXT_MAN="gnome-shell-extension-manager"
export PKG_PIP="python3-pip"
export PKG_PIPX="pipx"
export PKG_GLIB="libglib2.0-bin"
export PKG_GNOME_EXT="gnome-shell-extensions"
export PKG_IMAGEMAGICK="imagemagick"
elif [[ "$DISTRO" == "arch" ]] || [[ "$LIKE" == *"arch"* ]]; then
echo -e "${GREEN}[PASS] Arch Linux Based Distro${NC}"
export DISTRO_FAMILY="arch"
export INSTALL_CMD="sudo pacman -S --noconfirm --needed"
# for PACMAN
export PKG_EXT_MAN="extension-manager"
export PKG_PIP="python-pip"
export PKG_PIPX="python-pipx"
export PKG_GLIB="glib2"
export PKG_GNOME_EXT="gnome-shell-extensions"
export PKG_IMAGEMAGICK="imagemagick"
elif [[ "$DISTRO" == "fedora" ]] || [[ "$LIKE" == *"fedora"* ]]; then
echo -e "${GREEN}[PASS] Fedora Based Distro${NC}"
export DISTRO_FAMILY="fedora"
export INSTALL_CMD="sudo dnf install -y"
export PKG_EXT_MAN=""
export PKG_PIP="python3-pip"
export PKG_PIPX="pipx"
export PKG_GLIB="glib2"
export PKG_GNOME_EXT="gnome-extensions-app" # Only gnome-extensions-app exists in Fedora
export PKG_IMAGEMAGICK="ImageMagick"
else
echo -e "${RED}[FAIL] Unsupported Distribution: $DISTRO${NC}"
exit 1
fi