[Proposal] Platforms should be detected at runtime
- Dominant language
- Python
- Stars
- 286
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
Currently the `steam-buddy` package in the AUR pulls all emulator dependencies. That poses an annoyance for multiple dependencies (most Arch users don't like mega packages) and possible breakage of any one of those packages fails.
I propose to make all those packages optional dependencies (not hard ones) of the `steam-buddy` package providing functionality for each individual platform.
This will allow users that don't care about any platform, just not to install it but use the core steam buddy for managing the Steam installation, shortcuts, install non-Steam games, etc.
For example: a user that doesn't care about Sega emulator or PS emulators but wants to install Flatpak games into his/her Steam client for managing games can do so by only installing Steam-Buddy and Flatpak packages. Same goes for the reverse.
The changes that need to be done in the Steam-Buddy's side are not a lot, just need a way to detect if a certain binary is installed at startup and use that to show the appropriate platform image inside it's web ui. This will also need to modularize each platform functionality that is already quite done.
If PRs are welcome in this regard I'll be glad to implement it to the best of my limited abilities.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the startup path, platform-specific functionality, and the web UI code in the steam-buddy package. Review how emulator dependencies are declared in the AUR package. Done means platform support is modular, installed binaries are detected at startup, the UI shows only available platforms, and unrelated optional dependencies are not required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100