mirror of
https://github.com/dragoonDorise/EmuDeck.git
synced 2025-05-05 16:02:48 +00:00
211 lines
8.5 KiB
Bash
211 lines
8.5 KiB
Bash
#!/bin/bash
|
|
|
|
Plugins_install_cleanup() {
|
|
local password=$1
|
|
#We restart Decky
|
|
#systemctl daemon-reload
|
|
#systemctl restart plugin_loader
|
|
|
|
#Deleting temp password
|
|
if [ "$password" = "EmuDecky!" ]; then
|
|
echo "$password" | sudo -S -k passwd -d $(whoami) && echo "true"
|
|
fi
|
|
}
|
|
|
|
Plugins_checkPassword(){
|
|
local password=$1
|
|
if [ "$password" = "EmuDecky!" ]; then ## AppImage install when no sudo
|
|
#We create the password
|
|
yes "$password" | passwd $(whoami) &>/dev/null
|
|
elif [ "$system" == "chimeraos" ]; then
|
|
password="gamer"
|
|
elif [ "$system" == "bazzite" ]; then
|
|
password="bazzite"
|
|
elif [ -z $password ]; then ## setup install when no password set
|
|
|
|
#does it have a pass?
|
|
status=$(passwd -S "$(whoami)" | awk '{print $2}')
|
|
if [[ "$status" == "P" ]]; then
|
|
read -r PASS <<< $(zenity --title="Decky Installer" --width=300 --height=100 --entry --hide-text --text="Enter your sudo/admin password so we can install Decky with the best plugins for emulation")
|
|
if [[ $? -eq 1 ]] || [[ $? -eq 5 ]]; then
|
|
exit 1
|
|
fi
|
|
if ( echo "$PASS" | sudo -S -k true ); then
|
|
password=$PASS
|
|
else
|
|
zenity --title="Decky Installer" --width=150 --height=40 --info --text "Incorrect Password"
|
|
exit 1
|
|
fi
|
|
|
|
else
|
|
#We create the password
|
|
password="EmuDecky!"
|
|
yes "$password" | passwd $(whoami) &>/dev/null
|
|
fi
|
|
fi
|
|
echo $password
|
|
}
|
|
|
|
Plugins_installPluginLoader(){
|
|
setMSG "Installing Decky Loader"
|
|
|
|
local password=$1
|
|
local PluginLoader_releaseURL="https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/install_release.sh"
|
|
#if [ ! -f $HOME/.steam/steam/.cef-enable-remote-debugging ]; then
|
|
mkdir -p "$HOME/homebrew"
|
|
password=$(Plugins_checkPassword "$password")
|
|
echo $password | sudo -S chown -R $USER:$USER "$HOME/homebrew"
|
|
curl -L $PluginLoader_releaseURL | sh
|
|
touch "$HOME/.steam/steam/.cef-enable-remote-debugging"
|
|
echo $password | sudo -S chown $USER:$USER ~/.steam/steam/.cef-enable-remote-debugging
|
|
Plugins_install_cleanup $password
|
|
#fi
|
|
}
|
|
|
|
|
|
Plugins_installPowerTools(){
|
|
echo "Installing PowerTools"
|
|
local password=$1
|
|
local ptHash
|
|
mkdir -p "$HOME/homebrew/plugins/"
|
|
|
|
# Capturar la contraseña corregida
|
|
password=$(Plugins_checkPassword "$password")
|
|
|
|
ptHash=$(curl https://beta.deckbrew.xyz/plugins | jq -r '.[] | select(.name=="PowerTools").versions[0].hash')
|
|
local url="https://cdn.tzatzikiweeb.moe/file/steam-deck-homebrew/versions/$ptHash.zip"
|
|
|
|
Plugins_installPluginLoader "$password"
|
|
|
|
if [ -d "$HOME/homebrew" ]; then
|
|
echo "$password" | sudo -S rm -rf "$HOME/homebrew/plugins/PowerTools"
|
|
echo "$password" | sudo -S curl -L "$url" --output "$HOME/homebrew/PowerTools.zip.temp" && mv "$HOME/homebrew/PowerTools.zip.temp" "$HOME/homebrew/PowerTools.zip"
|
|
echo "$password" | sudo -S unzip "$HOME/homebrew/PowerTools.zip" -d "$HOME/homebrew/plugins/" && sudo rm "$HOME/homebrew/PowerTools.zip"
|
|
Plugins_install_cleanup "$password"
|
|
else
|
|
rm -rf "$HOME/homebrew/plugins/PowerTools"
|
|
echo "$password" | sudo -S curl -L "$url" --output "$HOME/homebrew/PowerTools.zip.temp" && mv "$HOME/homebrew/PowerTools.zip.temp" "$HOME/homebrew/PowerTools.zip"
|
|
echo "$password" | sudo -S unzip "$HOME/homebrew/PowerTools.zip" -d "$HOME/homebrew/plugins/" && sudo rm "$HOME/homebrew/PowerTools.zip"
|
|
fi
|
|
Plugins_install_cleanup "$password"
|
|
}
|
|
|
|
|
|
Plugins_installPowerControl(){
|
|
echo "Installing PowerControl"
|
|
local password=$1
|
|
local destinationFolder="$HOME/homebrew/plugins/PowerControl"
|
|
local PowerControl_releaseURL="$(getLatestReleaseURLGH "mengmeet/PowerControl" ".tar.gz")"
|
|
|
|
mkdir -p "$HOME/homebrew/plugins/"
|
|
|
|
# Capturar la contraseña corregida
|
|
password=$(Plugins_checkPassword "$password")
|
|
|
|
Plugins_installPluginLoader "$password"
|
|
|
|
if [ -d "$HOME/homebrew" ]; then
|
|
echo "$password" | sudo -S rm -rf "$destinationFolder"
|
|
echo "$password" | sudo -S curl -L "$PowerControl_releaseURL" -o "$HOME/homebrew/plugins/PowerControl.tar.gz"
|
|
echo "$password" | sudo -S unzip "$HOME/homebrew/plugins/PowerControl.tar.gz" -d "$HOME/homebrew/plugins/" && echo "$password" | sudo -S rm "$HOME/homebrew/plugins/PowerControl.tar.gz"
|
|
echo "$password" | sudo -S chown $USER:$USER -R "$HOME/homebrew/plugins/PowerControl"
|
|
echo "$password" | sudo -S chmod 555 -R "$HOME/homebrew/plugins/PowerControl"
|
|
else
|
|
rm -rf "$destinationFolder"
|
|
echo "$password" | sudo -S curl -L "$PowerControl_releaseURL" -o "$HOME/homebrew/plugins/PowerControl.tar.gz"
|
|
echo "$password" | sudo -S unzip "$HOME/homebrew/plugins/PowerControl.tar.gz" -d "$HOME/homebrew/plugins/" && sudo rm "$HOME/homebrew/plugins/PowerControl.tar.gz"
|
|
echo "$password" | sudo -S chown $USER:$USER -R "$HOME/homebrew/plugins/PowerControl"
|
|
fi
|
|
|
|
Plugins_install_cleanup "$password"
|
|
}
|
|
|
|
|
|
Plugins_installEmuDecky(){
|
|
setMSG "Installing EmuDecky"
|
|
local password=$1
|
|
local destinationFolder="$HOME/homebrew/plugins/EmuDecky"
|
|
local DeckyControls_releaseURL="$(getLatestReleaseURLGH "EmuDeck/EmuDecky" ".zip")"
|
|
|
|
mkdir -p "$HOME/homebrew/plugins/"
|
|
|
|
# CloudSync tools
|
|
rsync -avzh "$emudeckBackend/tools/cloudSync/" "$toolsPath/cloudSync/"
|
|
chmod +x "$toolsPath/cloudSync/cloud_sync_force_download.sh"
|
|
chmod +x "$toolsPath/cloudSync/cloud_sync_force_upload.sh"
|
|
|
|
# Capturar la contraseña corregida
|
|
password=$(Plugins_checkPassword "$password")
|
|
|
|
Plugins_installPluginLoader "$password"
|
|
if [ -d "$HOME/homebrew" ]; then
|
|
echo "$password" | sudo -S rm -rf "$destinationFolder"
|
|
echo "$password" | sudo -S curl -L "$DeckyControls_releaseURL" -o "$HOME/homebrew/plugins/EmuDecky.zip"
|
|
echo "$password" | sudo -S unzip "$HOME/homebrew/plugins/EmuDecky.zip" -d "$HOME/homebrew/plugins/" && echo "$password" | sudo -S rm "$HOME/homebrew/plugins/EmuDecky.zip"
|
|
echo "$password" | sudo -S chown $USER:$USER -R "$HOME/homebrew/plugins/EmuDecky"
|
|
echo "$password" | sudo -S chmod 555 -R "$HOME/homebrew/plugins/EmuDecky"
|
|
else
|
|
rm -rf "$destinationFolder"
|
|
echo "$password" | sudo -S curl -L "$DeckyControls_releaseURL" -o "$HOME/homebrew/plugins/EmuDecky.zip"
|
|
echo "$password" | sudo -S unzip "$HOME/homebrew/plugins/EmuDecky.zip" -d "$HOME/homebrew/plugins/" && sudo rm "$HOME/homebrew/plugins/EmuDecky.zip"
|
|
echo "$password" | sudo -S chown $USER:$USER -R "$HOME/homebrew/plugins/EmuDecky"
|
|
fi
|
|
|
|
Plugins_install_cleanup "$password"
|
|
|
|
}
|
|
|
|
|
|
Plugins_installDeckyRomLibrary(){
|
|
setMSG "Installing Retro Library"
|
|
local password=$1
|
|
local destinationFolder="$HOME/homebrew/plugins/decky-rom-library"
|
|
local DeckyControls_releaseURL="$(getLatestReleaseURLGH "EmuDeck/decky-rom-library" ".zip")"
|
|
|
|
generateGameLists
|
|
|
|
mkdir -p "$HOME/homebrew/plugins/"
|
|
|
|
# Asegurarnos de que el password sea correcto antes de continuar
|
|
password=$(Plugins_checkPassword "$password")
|
|
|
|
Plugins_installPluginLoader "$password"
|
|
|
|
if [ -d "$HOME/homebrew" ]; then
|
|
echo "$password" | sudo -S rm -rf "$destinationFolder"
|
|
echo "$password" | sudo -S curl -L "$DeckyControls_releaseURL" -o "$HOME/homebrew/plugins/decky-rom-library.zip"
|
|
echo "$password" | sudo -S unzip "$HOME/homebrew/plugins/decky-rom-library.zip" -d "$HOME/homebrew/plugins/" && echo "$password" | sudo -S rm "$HOME/homebrew/plugins/decky-rom-library.zip"
|
|
echo "$password" | sudo -S chown $USER:$USER -R "$HOME/homebrew/plugins/decky-rom-library"
|
|
echo "$password" | sudo -S chmod 555 -R "$HOME/homebrew/plugins/decky-rom-library"
|
|
else
|
|
rm -rf "$destinationFolder"
|
|
echo "$password" | sudo -S curl -L "$DeckyControls_releaseURL" -o "$HOME/homebrew/plugins/decky-rom-library.zip"
|
|
echo "$password" | sudo -S unzip "$HOME/homebrew/plugins/decky-rom-library.zip" -d "$HOME/homebrew/plugins/" && sudo rm "$HOME/homebrew/plugins/decky-rom-library.zip"
|
|
echo "$password" | sudo -S chown $USER:$USER -R "$HOME/homebrew/plugins/decky-rom-library"
|
|
fi
|
|
|
|
Plugins_install_cleanup "$password"
|
|
|
|
}
|
|
|
|
|
|
Plugins_installSteamDeckGyroDSU(){
|
|
setMSG "Installing GyroDSU"
|
|
local SDGyro_releaseURL="https://github.com/kmicki/SteamDeckGyroDSU/raw/master/pkg/update.sh"
|
|
curl -L $SDGyro_releaseURL --output /tmp/sdgyro.sh && chmod +x /tmp/sdgyro.sh && /tmp/sdgyro.sh && rm /tmp/sdgyro.sh
|
|
}
|
|
|
|
|
|
|
|
Plugins_install(){
|
|
local password=$1
|
|
Plugins_installEmuDecky $password
|
|
Plugins_installDeckyRomLibrary $password
|
|
Plugins_installSteamDeckGyroDSU
|
|
}
|
|
|
|
|
|
Plugins_installDeckyControls(){
|
|
local password=$1
|
|
Plugins_installEmuDecky $password
|
|
} |