nixos/openrazer: allow to configure packages (#394300)

This commit is contained in:
Sandro 2026-04-24 16:07:04 +00:00 committed by GitHub
commit 0ef1bc45b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,11 +6,10 @@
}:
let
cfg = config.hardware.openrazer;
kernelPackages = config.boot.kernelPackages;
toPyBoolStr = b: if b then "True" else "False";
daemonExe = "${pkgs.openrazer-daemon}/bin/openrazer-daemon --config ${daemonConfFile}";
daemonExe = "${cfg.packages.daemon}/bin/openrazer-daemon --config ${daemonConfFile}";
daemonConfFile = pkgs.writeTextFile {
name = "razer.conf";
@ -132,6 +131,14 @@ in
can start and interact with the OpenRazer userspace daemon.
'';
};
packages = {
kernel = lib.mkPackageOption pkgs "openrazer kernel" { } // {
default = config.boot.kernelPackages.openrazer;
defaultText = lib.literalExpression "config.boot.kernelPackages.openrazer";
};
daemon = lib.mkPackageOption pkgs [ "python3Packages" "openrazer-daemon" ] { };
};
};
};
@ -143,14 +150,16 @@ in
];
config = lib.mkIf cfg.enable {
boot.extraModulePackages = [ kernelPackages.openrazer ];
boot.extraModulePackages = [ cfg.packages.kernel ];
boot.kernelModules = drivers;
# Makes the man pages available so you can successfully run
# > systemctl --user help openrazer-daemon
environment.systemPackages = [ pkgs.python3Packages.openrazer-daemon.man ];
environment.systemPackages = lib.mkIf (cfg.packages.daemon ? man) [
cfg.packages.daemon.man
];
services.udev.packages = [ kernelPackages.openrazer ];
services.udev.packages = [ cfg.packages.kernel ];
services.dbus.packages = [ dbusServiceFile ];
# A user must be a member of the openrazer group in order to start