Skip to content

feat(packages): declare config_schema env_vars on package manifests (v4.4 §3) - #4

Closed
fruwe wants to merge 1 commit into
mainfrom
fix/declare-package-config-env-vars
Closed

fruwe wants to merge 1 commit into
mainfrom
fix/declare-package-config-env-vars

Conversation

@fruwe

@fruwe fruwe commented Jun 23, 2026

Copy link
Copy Markdown
Member

Companion to fruwehq/eve#47 (v4.4 §3). eve core's ConfigEnv.MAPPINGS hard-coded every package's config→env mapping (SUNSHINE_*, THINLINC_*, SPLASHTOP_*, RUSTDESK_SERVER, NOMACHINE_VERSION, RDP_GATE_USER). Move each onto its package manifest's config_schema (env_var:), matching how the providers already declare theirs — so a package owns its config fields and env vars.

What

  • Add config_schema.config with env_var declarations to sunshine, nomachine, rdp, rustdesk, splashtop, thinlinc (the linux half — it wins the dual-OS merge with the windows half).
  • All six validate against the manifest schema; field types use the allowed set (string/integer/boolean/path/url/host/enum).

Release-coupled

⚠️ Merge together with fruwehq/eve#47, which makes ConfigEnv scan package plugins and drops the now-redundant MAPPINGS rows. Merging core first would silently drop every package env var until this lands.

moonlight is deliberately untouched: it is sunshine's client, not a package, and its config + launcher move with the sunshine launcher work (v4.4 §8, still pending).

sunshine, nomachine, rdp, rustdesk, splashtop, thinlinc carried only an env:
allowlist — their config->env mapping lived in eve core's ConfigEnv.MAPPINGS.
Move it onto each manifest's config_schema (env_var:), mirroring what the
providers already do, so a package owns its config fields and env vars.

The linux half declares config_schema for each (it wins the dual-OS merge with
the windows half). Release-coupled to the eve-side change (fruwehq/eve#47) that
makes ConfigEnv scan package plugins and drops the now-redundant MAPPINGS rows —
merge together so no package env var is silently dropped.

(moonlight is deliberately not touched: it is sunshine's CLIENT, not a package,
and its config + launcher move with the sunshine launcher work — §8.)
@fruwe

fruwe commented Jun 25, 2026

Copy link
Copy Markdown
Member Author

Superseded by #5 (v4.4 branch) — the §3 package config env_var work is included there along with the rest of v4.4.

@fruwe fruwe closed this Jun 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant