Hardware
Marchyo enables common hardware support (Bluetooth, Thunderbolt, power management) by default. Some peripheral-specific support is opt-in.
Available options
Section titled “Available options”| Option | Default | Description |
|---|---|---|
marchyo.hardware.camera.waitForAccess |
desktop | Delay WirePlumber at login until camera devices are accessible |
marchyo.hardware.ddc.enable |
true |
DDC/CI external-monitor brightness (ddcutil, i2c bus + group), desktop-only |
Logitech wireless
Section titled “Logitech wireless”Enable support for Logitech Unifying / Bolt receivers and the Solaar management GUI with the NixOS option:
{ programs.solaar.enable = true;}This also turns on hardware.logitech.wireless, so you can pair devices and
tune per-device settings, and arms the shell’s Solaar fallback for device
batteries. (marchyo.hardware.logitech.enable is a deprecated alias.)
Camera access at login
Section titled “Camera access at login”libcamera opens each camera’s media device once, when WirePlumber starts. At
login the user manager can start WirePlumber a moment before logind grants the
session access to the seat’s devices, which leaves the camera missing until
WirePlumber restarts. With marchyo.hardware.camera.waitForAccess (on with the
desktop), WirePlumber waits up to five seconds for the uaccess media devices
to become readable. Opt out with marchyo.hardware.camera.waitForAccess = false.
External-monitor brightness (DDC/CI)
Section titled “External-monitor brightness (DDC/CI)”Enabled by default with the desktop. Marchyo loads the i2c-dev module and its
udev rules (hardware.i2c), installs ddcutil, and adds Marchyo users to the
i2c group so brightness/contrast of external DP/HDMI/VGA displays can be set
over the i2c bus. Laptop panels use backlight controls instead. Opt out with:
{ marchyo.hardware.ddc.enable = false;}