Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor gaming-setup.sh #380

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 69 additions & 66 deletions tabs/system-setup/2-gaming-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,96 +3,99 @@
. ../common-script.sh

installDepend() {
## Check for dependencies.
# Check for dependencies
DEPENDENCIES='wine dbus'
printf "%b\n" "${YELLOW}Installing dependencies...${RC}"
if [ "$PACKAGER" = "pacman" ]; then
if ! grep -q "^\s*\[multilib\]" /etc/pacman.conf; then
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
else
echo "Multilib is already enabled."
fi
$AUR_HELPER -S --needed --noconfirm wine giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \
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
elif [ "$PACKAGER" = "apt-get" ]; then
$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
elif [ "$PACKAGER" = "dnf" ] || [ "$PACKAGER" = "zypper" ]; then
$ESCALATION_TOOL ${PACKAGER} install -y wine
else
$ESCALATION_TOOL ${PACKAGER} install -y ${DEPENDENCIES}
fi
case "$PACKAGER" in
pacman)
#Check for multilib
if ! grep -q "^\s*$$multilib$$" /etc/pacman.conf; then
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
else
printf "%b\n" "${GREEN}Multilib is already enabled.${RC}"
fi

DISTRO_DEPS="gnutls lib32-gnutls base-devel gtk2 gtk3 lib32-gtk2 lib32-gtk3 libpulse lib32-libpulse alsa-lib lib32-alsa-lib \
alsa-utils alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib giflib lib32-giflib libpng lib32-libpng \
libldap lib32-libldap openal lib32-openal libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama \
ncurses lib32-ncurses vulkan-icd-loader lib32-vulkan-icd-loader ocl-icd lib32-ocl-icd libva lib32-libva \
gst-plugins-base-libs lib32-gst-plugins-base-libs sdl2"

$AUR_HELPER -S --needed --noconfirm "$DEPENDENCIES" $DISTRO_DEPS
;;
apt-get|nala)
adamperkowski marked this conversation as resolved.
Show resolved Hide resolved
DISTRO_DEPS="libasound2 libsdl2 wine64 wine32"

"$ESCALATION_TOOL" "$PACKAGER" update
"$ESCALATION_TOOL" dpkg --add-architecture i386
"$ESCALATION_TOOL" "$PACKAGER" install -y software-properties-common
"$ESCALATION_TOOL" apt-add-repository contrib -y
"$ESCALATION_TOOL" "$PACKAGER" update
"$ESCALATION_TOOL" "$PACKAGER" install -y "$DEPENDENCIES" $DISTRO_DEPS
;;
dnf)
"$ESCALATION_TOOL" "$PACKAGER" install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm -y
"$ESCALATION_TOOL" "$PACKAGER" config-manager --enable fedora-cisco-openh264 -y
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES
;;
zypper)
"$ESCALATION_TOOL" "$PACKAGER" -n install $DEPENDENCIES
;;
*)
"$ESCALATION_TOOL" "$PACKAGER" install -y $DEPENDENCIES
;;
esac
}

install_additional_dependencies() {
case $(command -v apt-get || command -v zypper || command -v dnf || command -v pacman) in
*apt-get)
installAdditionalDepend() {
case "$PACKAGER" in
pacman)
DISTRO_DEPS='steam lutris goverlay'
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm $DISTRO_DEPS
;;
apt-get|nala)
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)
curl -sSLo "lutris_${version_no_v}_all.deb" "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"
$ESCALATION_TOOL apt-get update
$ESCALATION_TOOL apt-get install ./lutris_${version_no_v}_all.deb

printf "%b\n" "${YELLOW}Installing Lutris...${RC}"
"$ESCALATION_TOOL" "$PACKAGER" update
"$ESCALATION_TOOL" "$PACKAGER" install ./lutris_${version_no_v}_all.deb

# Clean up the downloaded .deb file
rm lutris_${version_no_v}_all.deb

echo "Lutris Installation complete."
echo "Installing steam..."
printf "%b\n" "${GREEN}Lutris Installation complete.${RC}"
printf "%b\n" "${YELLOW}Installing steam...${RC}"

#Install steam on Debian
if (lsb_release -i | grep -qi Debian); then
#Enable i386 repos
$ESCALATION_TOOL dpkg --add-architecture i386
# Install software-properties-common to be able to add repos
$ESCALATION_TOOL apt-get install -y software-properties-common
# Add repos necessary for installing steam
$ESCALATION_TOOL apt-add-repository contrib -y
$ESCALATION_TOOL apt-add-repository non-free -y
#Install steam
$ESCALATION_TOOL apt-get install steam-installer -y
if lsb_release -i | grep -qi Debian; then
"$ESCALATION_TOOL" apt-add-repository non-free -y
"$ESCALATION_TOOL" "$PACKAGER" install steam-installer -y
else
#Install steam on Ubuntu
$ESCALATION_TOOL apt-get install -y steam
"$ESCALATION_TOOL" "$PACKAGER" install -y steam
fi
;;
*zypper)

;;
*dnf)

dnf)
DISTRO_DEPS='steam lutris'
"$ESCALATION_TOOL" "$PACKAGER" install -y $DISTRO_DEPS
;;
*pacman)
echo "Installing Steam for Arch Linux..."
$ESCALATION_TOOL pacman -S --needed --noconfirm steam
echo "Steam installation complete."

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."
zypper)
# Flatpak
DISTRO_DEPS='lutris'
"$ESCALATION_TOOL" "$PACKAGER" -n install $DISTRO_DEPS
;;
*)

;;
;;
esac
}

checkEnv
checkAURHelper
checkEscalationTool
installDepend
install_additional_dependencies
installAdditionalDepend
Loading