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
|
||||
|
||||
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)
|
||||
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 |
|
||||
|
@ -39,55 +63,34 @@ install_additional_dependencies() {
|
|||
|
||||
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)
|
||||
DISTRO_DEPS='steam lutris'
|
||||
"$ESCALATION_TOOL" "$PACKAGER" install -y $DISTRO_DEPS
|
||||
;;
|
||||
*dnf)
|
||||
|
||||
;;
|
||||
*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
|
||||
}
|
||||
|
||||
|
@ -95,4 +98,4 @@ checkEnv
|
|||
checkAURHelper
|
||||
checkEscalationTool
|
||||
installDepend
|
||||
install_additional_dependencies
|
||||
installAdditionalDepend
|
||||
|
|
Loading…
Reference in New Issue
Block a user