From 30c29cc25ba29b524afa24d76ab19f6cb77c206f Mon Sep 17 00:00:00 2001 From: toinux <26522723+itzwam@users.noreply.github.com> Date: Sat, 28 Dec 2024 14:01:27 +0100 Subject: [PATCH] nixos/g810-led: support earlySetup in initrd --- nixos/modules/services/hardware/g810-led.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nixos/modules/services/hardware/g810-led.nix b/nixos/modules/services/hardware/g810-led.nix index d8918b64a6f0a7..0acda44b35493f 100644 --- a/nixos/modules/services/hardware/g810-led.nix +++ b/nixos/modules/services/hardware/g810-led.nix @@ -11,6 +11,7 @@ in options = { services.g810-led = { enable = lib.mkEnableOption "g810-led, a Linux LED controller for some Logitech G Keyboards"; + earlySetup = lib.mkEnableOption "g810-led in early stage initrd"; package = lib.mkPackageOption pkgs "g810-led" { }; @@ -38,6 +39,15 @@ in config = lib.mkIf cfg.enable { environment.etc."g810-led/profile".text = lib.mkIf (cfg.profile != null) cfg.profile; + boot.initrd = lib.mkIf (cfg.earlySetup && cfg.profile != null) { + services.udev.packages = [cfg.package]; + services.udev.binPackages = [cfg.package]; + + systemd.contents = { + "/etc/g810-led/profile".text = cfg.profile; + }; + }; + services.udev.packages = [ cfg.package ]; };