feat(build): gate gpu/media modules behind Cargo features #1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/module-feature-flags"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The
nvidiafeature was nominal —nvml-wrapperwas optional butgpu.rsimported it unconditionally, so--no-default-featuresfailedto compile and alfred could not be built on non-NVIDIA machines.
Make the feature real and add a parallel
mediafeature:nvidiagatesmodules::gpu+ nvml-wrapper (libnvidia-ml.so)mediagatesmodules::media+ zbus (D-Bus/MPRIS)Both default-on, so the default build/behavior is unchanged. The
ModuleKind enum stays ungated (dependency-free); a compiled-out module
simply never spawns. Modules without an optional dep remain always
compiled and toggleable at runtime via
[modules.*] enabled = false.Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com