server-config/no-rgb.nix

55 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
# mbedtls_2 is deprecated, override to fix build
openrgb_package = pkgs.openrgb.override { mbedtls_2 = pkgs.mbedtls; };
in
{
systemd.services.no-rgb =
let
no-rgb = (
pkgs.writeShellApplication {
name = "no-rgb";
runtimeInputs = with pkgs; [
openrgb_package
coreutils
gnugrep
];
text = ''
#!/bin/sh
set -e
NUM_DEVICES=$(openrgb --noautoconnect --list-devices | grep -cE '^[0-9]+: ')
for i in $(seq 0 $((NUM_DEVICES - 1))); do
openrgb --noautoconnect --device "$i" --mode direct --color 000000
done
'';
}
);
in
{
description = "disable rgb";
serviceConfig = {
ExecStart = lib.getExe no-rgb;
Type = "oneshot";
};
wantedBy = [ "multi-user.target" ];
};
services.hardware.openrgb = {
enable = true;
package = openrgb_package;
motherboard = "amd";
};
services.udev.packages = [ openrgb_package ];
hardware.i2c.enable = true;
}