mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 23:13:19 +00:00
nixos/openrazer: add additional battery notifier options (#273761)
This commit is contained in:
parent
ce8cd6dfc9
commit
b4df506a48
@ -19,7 +19,9 @@ let
|
||||
[Startup]
|
||||
sync_effects_enabled = ${toPyBoolStr cfg.syncEffectsEnabled}
|
||||
devices_off_on_screensaver = ${toPyBoolStr cfg.devicesOffOnScreensaver}
|
||||
mouse_battery_notifier = ${toPyBoolStr cfg.mouseBatteryNotifier}
|
||||
battery_notifier = ${toPyBoolStr (cfg.mouseBatteryNotifier || cfg.batteryNotifier.enable)}
|
||||
battery_notifier_freq = ${builtins.toString cfg.batteryNotifier.frequency}
|
||||
battery_notifier_percent = ${builtins.toString cfg.batteryNotifier.percentage}
|
||||
|
||||
[Statistics]
|
||||
key_statistics = ${toPyBoolStr cfg.keyStatistics}
|
||||
@ -86,6 +88,41 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
batteryNotifier = mkOption {
|
||||
description = ''
|
||||
Settings for device battery notifications.
|
||||
'';
|
||||
default = {};
|
||||
type = types.submodule {
|
||||
options = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Mouse battery notifier.
|
||||
'';
|
||||
};
|
||||
frequency = mkOption {
|
||||
type = types.int;
|
||||
default = 600;
|
||||
description = ''
|
||||
How often battery notifications should be shown (in seconds).
|
||||
A value of 0 disables notifications.
|
||||
'';
|
||||
};
|
||||
|
||||
percentage = mkOption {
|
||||
type = types.int;
|
||||
default = 33;
|
||||
description = ''
|
||||
At what battery percentage the device should reach before
|
||||
sending notifications.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keyStatistics = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
@ -107,6 +144,13 @@ in
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
warnings = flatten [
|
||||
(optional cfg.mouseBatteryNotifier ''
|
||||
The option openrazer.mouseBatteryNotifier is deprecated.
|
||||
Please use openrazer.batteryNotifier instead to enable and configure battery notifications.
|
||||
'')
|
||||
];
|
||||
|
||||
boot.extraModulePackages = [ kernelPackages.openrazer ];
|
||||
boot.kernelModules = drivers;
|
||||
|
||||
@ -127,15 +171,15 @@ in
|
||||
systemd.user.services.openrazer-daemon = {
|
||||
description = "Daemon to manage razer devices in userspace";
|
||||
unitConfig.Documentation = "man:openrazer-daemon(8)";
|
||||
# Requires a graphical session so the daemon knows when the screensaver
|
||||
# starts. See the 'devicesOffOnScreensaver' option.
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
partOf = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "dbus";
|
||||
BusName = "org.razer";
|
||||
ExecStart = "${daemonExe} --foreground";
|
||||
Restart = "always";
|
||||
# Requires a graphical session so the daemon knows when the screensaver
|
||||
# starts. See the 'devicesOffOnScreensaver' option.
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
partOf = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
Type = "dbus";
|
||||
BusName = "org.razer";
|
||||
ExecStart = "${daemonExe} --foreground";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user