{ pkgs, ... }: { # I2C environment.systemPackages = with pkgs; [ i2c-tools lm_sensors ]; boot.kernelModules = [ "i2c-dev" ]; boot.blacklistedKernelModules = [ # The spd5118 driver is in conflict with openrgb by holding onto I2C adresses when using Kingston Fury DRAM. # On boot, I need to access those i2c regions in other to poweroff the RGB lighting. # Then, I manually enable the kernel module in any script. # It's possible to let this module disabled, but I lose the ability to get temperature values for the DIMMs. # https://gitlab.com/CalcProgrammer1/OpenRGB/-/merge_requests/2557 "spd5118" ]; hardware.i2c.enable = true; # OpenRGB services.udev.packages = [ pkgs.openrgb ]; services.hardware.openrgb = { enable = true; startupProfile = "off"; }; system.activationScripts.openrgbOff = '' mkdir -p /var/lib/OpenRGB cp ${./off.orp} /var/lib/OpenRGB/off.orp chmod 0644 /var/lib/OpenRGB/off.orp ''; }