linutil/tabs/system-setup/2-gaming-setup.sh

99 lines
4.0 KiB
Bash
Raw Normal View History

2024-07-15 20:00:04 +01:00
#!/bin/sh -e
2024-07-13 02:57:34 +01:00
. ../common-script.sh
2024-07-13 02:57:34 +01:00
installDepend() {
## Check for dependencies.
echo -e "${YELLOW}Installing dependencies...${RC}"
2024-07-14 03:16:02 +01:00
if [ "$PACKAGER" = "pacman" ]; then
2024-07-13 02:57:34 +01:00
if ! grep -q "^\s*\[multilib\]" /etc/pacman.conf; then
2024-08-23 14:12:47 +01:00
echo "[multilib]" | $ESCALATION_TOOL tee -a /etc/pacman.conf
echo "Include = /etc/pacman.d/mirrorlist" | $ESCALATION_TOOL tee -a /etc/pacman.conf
$ESCALATION_TOOL ${PACKAGER} -Syu
2024-07-13 02:57:34 +01:00
else
echo "Multilib is already enabled."
fi
2024-08-23 14:12:47 +01:00
$AUR_HELPER -S --needed --noconfirm wine giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \
2024-07-13 02:57:34 +01:00
mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error \
lib32-libgpg-error alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib libjpeg-turbo lib32-libjpeg-turbo \
sqlite lib32-sqlite libxcomposite lib32-libxcomposite libxinerama lib32-libgcrypt libgcrypt lib32-libxinerama \
ncurses lib32-ncurses ocl-icd lib32-ocl-icd libxslt lib32-libxslt libva lib32-libva gtk3 \
lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader
2024-07-14 03:16:02 +01:00
elif [ "$PACKAGER" = "apt-get" ]; then
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL ${PACKAGER} update
$ESCALATION_TOOL ${PACKAGER} install -y wine64 wine32 libasound2-plugins:i386 libsdl2-2.0-0:i386 libdbus-1-3:i386 libsqlite3-0:i386
2024-07-14 03:16:02 +01:00
elif [ "$PACKAGER" = "dnf" ] || [ "$PACKAGER" = "zypper" ]; then
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL ${PACKAGER} install -y wine
2024-07-13 02:57:34 +01:00
else
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL ${PACKAGER} install -y ${DEPENDENCIES}
2024-07-13 02:57:34 +01:00
fi
}
install_additional_dependencies() {
2024-08-23 14:12:47 +01:00
case $(command -v apt-get || command -v zypper || command -v dnf || command -v pacman) in
2024-07-13 02:57:34 +01:00
*apt-get)
version=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' https://github.com/lutris/lutris |
grep -v 'beta' |
tail -n1 |
cut -d '/' --fields=3)
version_no_v=$(echo "$version" | tr -d v)
wget "https://github.com/lutris/lutris/releases/download/${version}/lutris_${version_no_v}_all.deb"
# Install the downloaded .deb package using apt-get
echo "Installing lutris_${version_no_v}_all.deb"
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL apt-get update
$ESCALATION_TOOL apt-get install ./lutris_${version_no_v}_all.deb
2024-07-13 02:57:34 +01:00
# Clean up the downloaded .deb file
rm lutris_${version_no_v}_all.deb
echo "Lutris Installation complete."
echo "Installing steam..."
2024-07-25 20:10:31 +01:00
2024-07-25 20:23:55 +01:00
#Install steam on Debian
2024-07-25 20:10:31 +01:00
if (lsb_release -i | grep -qi Debian); then
#Enable i386 repos
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL dpkg --add-architecture i386
2024-07-25 20:10:31 +01:00
# Install software-properties-common to be able to add repos
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL apt-get install -y software-properties-common
2024-07-25 20:10:31 +01:00
# Add repos necessary for installing steam
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL apt-add-repository contrib -y
$ESCALATION_TOOL apt-add-repository non-free -y
2024-07-25 20:10:31 +01:00
#Install steam
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL apt-get install steam-installer -y
2024-07-25 20:10:31 +01:00
else
#Install steam on Ubuntu
2024-08-23 14:12:47 +01:00
$ESCALATION_TOOL apt-get install -y steam
2024-07-25 20:10:31 +01:00
fi
2024-07-13 02:57:34 +01:00
;;
*zypper)
2024-08-23 14:12:47 +01:00
2024-07-13 02:57:34 +01:00
;;
*dnf)
2024-08-23 14:12:47 +01:00
2024-07-13 02:57:34 +01:00
;;
*pacman)
echo "Installing Steam for Arch Linux..."
$ESCALATION_TOOL pacman -S --needed --noconfirm steam
echo "Steam installation complete."
2024-07-13 02:57:34 +01:00
echo "Installing Lutris for Arch Linux..."
$ESCALATION_TOOL pacman -S --needed --noconfirm lutris
echo "Lutris installation complete."
echo "Installing GOverlay for Arch Linux..."
$ESCALATION_TOOL pacman -S --needed --noconfirm goverlay
echo "GOverlay installation complete."
2024-07-13 02:57:34 +01:00
;;
*)
2024-08-23 14:12:47 +01:00
;;
2024-07-13 02:57:34 +01:00
esac
}
checkEnv
2024-09-06 00:23:24 +01:00
checkAURHelper
2024-08-23 14:12:47 +01:00
checkEscalationTool
2024-07-13 02:57:34 +01:00
installDepend
2024-09-06 00:23:24 +01:00
install_additional_dependencies