NOTE: On February 27th, 2022 the naming scheme for Proton-GE was changed enough that this script is no longer compatible with both the old and the new naming schemes. I currently do not have the time or motivation to do the substantial overhaul of this script that would be necessary to bring it up to date. This project has long since served its purpose of being a learning resource for me to learn Bash scripting and it was a lot of fun while it lasted. I started a new career which does not involve computing roughly 6 months ago (8/31/21) and since then I no longer use Steam or Proton-GE for entertainment or otherwise. Because the future of this project is unknown I will be archiving it after this last commit. Please do not expect this script to be updated any time soon, if at all. Please do not depend on this script for anything important. Thank you and good luck! ge-install-manager is a helper script with the primary purpose of making managing your installations of Proton-ge-custom (https://github.com/GloriousEggroll/proton-ge-custom) a breeze. Basic installation: Download ge-install-manager and run ./ge-install-manager -L to list releases available to install. Run ge-install-manager -i to install (eg. 5.9-GE-ST-8). Quick installation: Ensure the current working path is where you want ge-install-manager installed and then run: CURL=curl; bash -c "$(eval $CURL -sL 'https://raw.githubusercontent.com/toazd/ge-install-manager/master/ge-install-manager' -o ge-install-manager; chmod +x ge-install-manager; ./ge-install-manager)" NOTE: After installing Steam, you will need to run it at least once before this script will detect that it is installed. NOTE: Ubuntu users - you may need to install curl (sudo apt install curl -y). NOTE: The script will check for all required commands and then notify you if any are not found. Distributions tested so far: Arch, Artix, Fedora Workstation, Gentoo, Manjaro, Manjaro XFCE, MX Linux, Linux Mint, Linux Mint Debian Edition, Pop OS, Ubuntu Shells tested so far: GNU Bash v5.0.18, v5.0.17, Zsh v5.8 Just in case you were wondering why someone would go to such great lengths to create such a project it is because this project serves as a learning resource while practicing Bash scripting. Help: Required: Bash 3.2+, curl, sed, tar, gzip, stat, wc, touch, file Optional: date, du, pgrep, sort, cmp, envsubst, trash -h - Show this help -H - Show usage notes, formats, and examples -l - List installed versions and saved packages Saved package sizes are also checked (backports) -L - List all releases available to install -n - Show release notes for Combined with -N, -n will be ignored -N - Show release notes for all versions -S - Report file count and disk usage of install path -s - Report file count and disk usage of -U - Check for and install the latest release -u - Check for the latest release and report installed status Combined with -U, -u will be ignored -i - Download and install -R - Remove installed -r - Remove saved package (proton-ge tarball) -V - Verify each installation using its saved package Combined with -v, -V will be ignored -v - Verify using its saved package -d - Download and save the package for -D - Remove cache and config files created by this script To also remove all proton-ge-custom installations, use -XD. -x - Remove all saved packages (proton-ge tarballs) -X - Remove the entire install path NOTE: Saved packages are currently stored in the installation path -f - Force install, upgrade, or remove Combined with -U and/or -i, remove saved package and download a new copy -A - Automated mode (skip/disable certain prompts) Skips prompting to edit a newly created config file Skips prompt for creating a symlink to the script -z - Enable verbose output mode (to stderr) Format: (calling line)[function trace]: message Usage: Default config path: ${XDG_CONFIG_HOME:-"$HOME"/.config}/ge-install-manager - Acceptable formats for (case-insensitive): 5.9-GE-3-ST, Proton-5.9-GE-3-ST, Proton-5.9-GE-3-ST.tar.gz - Most parameters can be combined with other unique parameters. > NOTE: arguments must directly follow parameters that require arguments Example (both produce the same result): ./ge-install-manager -Hh ./ge-install-manager -h -H Result: Show help and then show usage Example (both produce the same result): ./ge-install-manager -lSui 5.9-GE-3-ST ./ge-install-manager -lS -i 5.9-GE-3-ST -u Result: Check for the latest version and install it, install version 5.9-GE-3-ST, list installed versions, then report file and disk usage for the install path Example: (assume the latest version is 5.9-GE-3-ST) ./ge-install-manager -z -u -i Proton-5.11-GE-1-MF -Xf Result: enable verbose mode, remove the installation path, update to the latest version 5.9-GE-3-ST, and then install version 5.11-GE-1-MF. Example (both produce the same result): ./ge-install-manager -s 5.6-GE-3-ST -S ./ge-install-manager -Ss 5.6-GE-3-ST Result: report disk usage and file count for the install path, and then report disk usage and file count for version 5.6-GE-3-ST - The order of parameters is not significant except: > If during invocation multiple identical parameters are supplied. Example: ./ge-install-manager -s 5.11-GE-1-MF -s 5.9-GE-3-ST Result: Only the right-most parameter and argument will be processed (-s 5.9-GE-3-ST). - Order of operations if multiple unique parameters are supplied: > NOTE: -h and/or -H, and -fzZ/-fzT will exit irrespective of other parameters Show help, Show usage, Check for latest release, Show all releases available, Show release notes for all versions, Show release notes for a version, Remove install path, Remove saved packages (if remove install path is not active), Uninstall script (remove g_script_cache_path g_script_config_path), Remove installed version (if remove install path is not active), Remove saved package (if remove install path is not active), Download, Update, Install, List installed, Report install path disk usage, Report specific version disk usage Verify Version history: v0.6.3 of ge-install-manager.sh is the initial upload (prior versions not tracked by any VCS) v0.6.3 to v0.6.7 are in commit history for ge-install-manager.sh (starting with commit aefa2a4ad2bf29de84e213f286db8337791218b5) Commit history for ge-install-manager.sh: (git log --all --full-history ge-install-manager.sh)