ChimeraOS / ChimeraOS/chimera

[Proposal] Platforms should be detected at runtime

Open
#154 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.