mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-11-05 13:15:21 +00:00
Refactor gaming-setup.sh
(#380)
* Refactored + removed bashisms - revieved all packages - changed the structure to have synergy with other scripts - updated dnf & zypper commands - added nala * use apt-get instead of apt Co-authored-by: Nyx <144965845+nnyyxxxx@users.noreply.github.com> * small refactor (#3) Co-authored-by: nnyyxxxx <nnyyxxxx@users.noreply.github.com> * apt-get + quote escalation --------- Co-authored-by: Nyx <144965845+nnyyxxxx@users.noreply.github.com> Co-authored-by: nnyyxxxx <nnyyxxxx@users.noreply.github.com>
This commit is contained in:
parent
ad9d1662da
commit
44d9360448
|
@ -3,35 +3,59 @@
|
||||||
. ../common-script.sh
|
. ../common-script.sh
|
||||||
|
|
||||||
installDepend() {
|
installDepend() {
|
||||||
## Check for dependencies.
|
# Check for dependencies
|
||||||
|
DEPENDENCIES='wine dbus'
|
||||||
printf "%b\n" "${YELLOW}Installing dependencies...${RC}"
|
printf "%b\n" "${YELLOW}Installing dependencies...${RC}"
|
||||||
if [ "$PACKAGER" = "pacman" ]; then
|
case "$PACKAGER" in
|
||||||
if ! grep -q "^\s*\[multilib\]" /etc/pacman.conf; then
|
pacman)
|
||||||
echo "[multilib]" | $ESCALATION_TOOL tee -a /etc/pacman.conf
|
#Check for multilib
|
||||||
echo "Include = /etc/pacman.d/mirrorlist" | $ESCALATION_TOOL tee -a /etc/pacman.conf
|
if ! grep -q "^\s*$$multilib$$" /etc/pacman.conf; then
|
||||||
$ESCALATION_TOOL ${PACKAGER} -Syu
|
echo "[multilib]" | "$ESCALATION_TOOL" tee -a /etc/pacman.conf
|
||||||
else
|
echo "Include = /etc/pacman.d/mirrorlist" | "$ESCALATION_TOOL" tee -a /etc/pacman.conf
|
||||||
echo "Multilib is already enabled."
|
"$ESCALATION_TOOL" "$PACKAGER" -Syu
|
||||||
fi
|
else
|
||||||
$AUR_HELPER -S --needed --noconfirm wine giflib lib32-giflib libpng lib32-libpng libldap lib32-libldap gnutls lib32-gnutls \
|
printf "%b\n" "${GREEN}Multilib is already enabled.${RC}"
|
||||||
mpg123 lib32-mpg123 openal lib32-openal v4l-utils lib32-v4l-utils libpulse lib32-libpulse libgpg-error \
|
fi
|
||||||
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 \
|
DISTRO_DEPS="gnutls lib32-gnutls base-devel gtk2 gtk3 lib32-gtk2 lib32-gtk3 libpulse lib32-libpulse alsa-lib lib32-alsa-lib \
|
||||||
ncurses lib32-ncurses ocl-icd lib32-ocl-icd libxslt lib32-libxslt libva lib32-libva gtk3 \
|
alsa-utils alsa-plugins lib32-alsa-plugins alsa-lib lib32-alsa-lib giflib lib32-giflib libpng lib32-libpng \
|
||||||
lib32-gtk3 gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader
|
libldap lib32-libldap openal lib32-openal libxcomposite lib32-libxcomposite libxinerama lib32-libxinerama \
|
||||||
elif [ "$PACKAGER" = "apt-get" ]; then
|
ncurses lib32-ncurses vulkan-icd-loader lib32-vulkan-icd-loader ocl-icd lib32-ocl-icd libva lib32-libva \
|
||||||
$ESCALATION_TOOL ${PACKAGER} update
|
gst-plugins-base-libs lib32-gst-plugins-base-libs sdl2"
|
||||||
$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
|
$AUR_HELPER -S --needed --noconfirm "$DEPENDENCIES" $DISTRO_DEPS
|
||||||
$ESCALATION_TOOL ${PACKAGER} install -y wine
|
;;
|
||||||
else
|
apt-get|nala)
|
||||||
$ESCALATION_TOOL ${PACKAGER} install -y ${DEPENDENCIES}
|
DISTRO_DEPS="libasound2 libsdl2 wine64 wine32"
|
||||||
fi
|
|
||||||
|
"$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() {
|
installAdditionalDepend() {
|
||||||
case $(command -v apt-get || command -v zypper || command -v dnf || command -v pacman) in
|
case "$PACKAGER" in
|
||||||
*apt-get)
|
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 |
|
version=$(git -c 'versionsort.suffix=-' ls-remote --tags --sort='v:refname' https://github.com/lutris/lutris |
|
||||||
grep -v 'beta' |
|
grep -v 'beta' |
|
||||||
tail -n1 |
|
tail -n1 |
|
||||||
|
@ -39,55 +63,34 @@ install_additional_dependencies() {
|
||||||
|
|
||||||
version_no_v=$(echo "$version" | tr -d v)
|
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"
|
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"
|
printf "%b\n" "${YELLOW}Installing Lutris...${RC}"
|
||||||
$ESCALATION_TOOL apt-get update
|
"$ESCALATION_TOOL" "$PACKAGER" update
|
||||||
$ESCALATION_TOOL apt-get install ./lutris_${version_no_v}_all.deb
|
"$ESCALATION_TOOL" "$PACKAGER" install ./lutris_${version_no_v}_all.deb
|
||||||
|
|
||||||
# Clean up the downloaded .deb file
|
|
||||||
rm lutris_${version_no_v}_all.deb
|
rm lutris_${version_no_v}_all.deb
|
||||||
|
|
||||||
echo "Lutris Installation complete."
|
printf "%b\n" "${GREEN}Lutris Installation complete.${RC}"
|
||||||
echo "Installing steam..."
|
printf "%b\n" "${YELLOW}Installing steam...${RC}"
|
||||||
|
|
||||||
#Install steam on Debian
|
if lsb_release -i | grep -qi Debian; then
|
||||||
if (lsb_release -i | grep -qi Debian); then
|
"$ESCALATION_TOOL" apt-add-repository non-free -y
|
||||||
#Enable i386 repos
|
"$ESCALATION_TOOL" "$PACKAGER" install steam-installer -y
|
||||||
$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
|
|
||||||
else
|
else
|
||||||
#Install steam on Ubuntu
|
"$ESCALATION_TOOL" "$PACKAGER" install -y steam
|
||||||
$ESCALATION_TOOL apt-get install -y steam
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*zypper)
|
dnf)
|
||||||
|
DISTRO_DEPS='steam lutris'
|
||||||
|
"$ESCALATION_TOOL" "$PACKAGER" install -y $DISTRO_DEPS
|
||||||
;;
|
;;
|
||||||
*dnf)
|
zypper)
|
||||||
|
# Flatpak
|
||||||
;;
|
DISTRO_DEPS='lutris'
|
||||||
*pacman)
|
"$ESCALATION_TOOL" "$PACKAGER" -n install $DISTRO_DEPS
|
||||||
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."
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
;;
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,4 +98,4 @@ checkEnv
|
||||||
checkAURHelper
|
checkAURHelper
|
||||||
checkEscalationTool
|
checkEscalationTool
|
||||||
installDepend
|
installDepend
|
||||||
install_additional_dependencies
|
installAdditionalDepend
|
||||||
|
|
Loading…
Reference in New Issue
Block a user