[Feature Request]: support "include" directive to load/reuse external config files
Describe the request
Add support for an include=/path/to/file.conf (or similar) directive inside a MangoHud config file, so it can pull in options from another config file, similar to #include in C or Include in some INI-style configs (e.g. pacman.conf).
Suggested behavior:
include=path loads and parses the referenced file's options as if they were inlined at that point. Relative paths resolve relative to the including file's directory (or optionally to ~/.config/MangoHud/). Options defined after the include line (or in the including file generally) override the same keys from the included file, consistent with MangoHud's existing config-priority model. Nested includes are supported, with a safeguard against circular includes (e.g. a max depth or cycle detection with a clear error/log message). Missing/unreadable include files produce a warning in the log rather than a hard crash.
Use case
MangoHud config files (MangoHud.conf, per-app configs, wine-.conf) currently can't reference each other. Users who want a shared base configuration (e.g. common overlay layout, colors, logging options) end up copy-pasting the same block of options into every per-application config file. Any time the shared settings need to change, every file has to be edited individually, which is error-prone and hard to maintain, especially for people managing configs for many games/apps.
Alternatives considered
Copy-pasting shared options into every config file (current approach): hard to maintain. Using MANGOHUD_CONFIG env var for shared options via a wrapper script: works but sidesteps the config file system entirely and isn't discoverable/documented the same way, and doesn't compose well with per-app .conf files. Symlinking config files: doesn't allow merging a shared base with per-app overrides, only full replacement.
Additional context
No response
Source: flightlessmango/MangoHud