-
Couldn't load subscription status.
- Fork 78
Description
Background
Currently, users installing MControlCenter on NixOS need to add D-Bus configuration to their system configuration manually:
services.dbus.packages = [ pkgs.mcontrolcenter ];This creates friction for NixOS users, as most packages in the NixOS ecosystem "just work" without requiring additional manual configuration steps.
Problem
The current approach has several issues:
- Inconsistent with NixOS patterns: Most system/hardware tools provide proper service modules
- Documentation burden: Users need to discover and understand the D-Bus requirement separately
- Integration gaps: The package doesn't follow NixOS conventions for system services
Proposed Solution
Add a NixOS service module that handles D-Bus registration and system integration automatically. This would allow users to simply enable the service:
# configuration.nix
services.mcontrolcenter.enable = true;Examples in NixOS Ecosystem
This pattern is used by many similar tools:
services.tlp.enable = true;(power management)services.auto-cpufreq.enable = true;(CPU frequency scaling)services.thermald.enable = true;(thermal management)
Backward Compatibility
This change would be fully backward compatible - existing manual D-Bus configuration would continue to work, but new users could use the cleaner service approach.
This enhancement would significantly improve the NixOS user experience and align MControlCenter with ecosystem best practices. Would you be open to this approach? I'd be happy to contribute a PR implementing this solution.