# vim: set ft=make : # Install and configure Decky Loader (https://github.com/SteamDeckHomebrew/decky-loader) and plugins for alternative handhelds. Options: status | install | install-prerelease | uninstall [group("gaming")] setup-decky ACTION="": #!/usr/bin/bash if [[ $(id -u) -eq 0 ]]; then echo >&2 "ERROR: Do not run this with sudo" exit 1 fi source /usr/lib/ujust/ujust.sh get_status_token() { local decky_service="/etc/systemd/system/plugin_loader.service" if [[ ! -f /etc/systemd/system/multi-user.target.wants/plugin_loader.service ]]; then echo "uninstall" elif [[ -r "$decky_service" ]] && grep -q 'Environment=LOG_LEVEL=DEBUG' "$decky_service"; then echo "install-prerelease" elif [[ -r "$decky_service" ]]; then echo "install" else return 1 fi } DECKY_STATE="${b}${red}Not Installed${n}" case "$(get_status_token)" in install) DECKY_STATE="${b}${green}Installed${n}" ;; install-prerelease) DECKY_STATE="${b}${yellow}Installed (Prerelease)${n}" ;; uninstall) DECKY_STATE="${b}${red}Not Installed${n}" ;; esac install_release() { export HOME=$(getent passwd ${SUDO_USER:-$USER} | cut -d: -f6) if [ ! -L "/home/deck" ] && [ ! -e "/home/deck" ] && [ "$HOME" != "/home/deck" ]; then echo "Making a /home/deck symlink to fix plugins that do not use environment variables." sudo -A ln -sf "$HOME" /home/deck fi curl -L https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/install_release.sh | sed 's|sudo|sudo -A |g' | sh sudo -A chcon -R -t bin_t $HOME/homebrew/services/PluginLoader } install_prerelease() { export HOME=$(getent passwd ${SUDO_USER:-$USER} | cut -d: -f6) if [ ! -L "/home/deck" ] && [ ! -e "/home/deck" ] && [ "$HOME" != "/home/deck" ]; then echo "Making a /home/deck symlink to fix plugins that do not use environment variables." sudo -A ln -sf "$HOME" /home/deck fi curl -L https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/install_prerelease.sh | sh sudo -A chcon -R -t bin_t $HOME/homebrew/services/PluginLoader } uninstall() { echo "Uninstalling Decky Loader..." curl -L https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/uninstall.sh | sh echo "Decky Loader has been uninstalled." } OPTION={{ ACTION }} if [ "$OPTION" == "help" ]; then echo "Usage: ujust setup-decky