about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuna Nova <git@lunnova.dev>2022-02-18 13:47:33 -0800
committerLuna Nova <git@lunnova.dev>2022-03-07 08:31:40 -0800
commitd8cb49476539a9743da6dfc8eb1d2aa554fa59be (patch)
treef577130048d81075aff6faee7f75620c64d7c3ce
parent652aa6df2ca13c61a43341ee3f12cd8723d938e2 (diff)
nixos/input-remapper: Fix missing [] for package, add enableUdevRules and serviceWantedBy options, add meta.maintainers
-rw-r--r--nixos/modules/services/misc/input-remapper.nix25
1 files changed, 13 insertions, 12 deletions
diff --git a/nixos/modules/services/misc/input-remapper.nix b/nixos/modules/services/misc/input-remapper.nix
index c2da0d616a317..6440e49046442 100644
--- a/nixos/modules/services/misc/input-remapper.nix
+++ b/nixos/modules/services/misc/input-remapper.nix
@@ -7,23 +7,24 @@ let cfg = config.services.input-remapper; in
   options = {
     services.input-remapper = {
       enable = mkEnableOption "input-remapper, an easy to use tool to change the mapping of your input device buttons.";
-      package = mkOption {
-        type = types.package;
-        default = pkgs.input-remapper;
-        defaultText = literalExpression "pkgs.input-remapper";
-        description = ''
-          The input-remapper package to use.
-        '';
+      package = options.mkPackageOption pkgs "input-remapper" { };
+      enableUdevRules = mkEnableOption "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140";
+      serviceWantedBy = mkOption {
+        default = [ "graphical.target" ];
+        example = [ "multi-user.target" ];
+        type = types.listOf types.str;
+        description = "Specifies the WantedBy setting for the input-remapper service.";
       };
     };
   };
 
   config = mkIf cfg.enable {
-    # FIXME: udev rule hangs sometimes when lots of devices connected, so let's not use it
-    # config.services.udev.packages = mapper-pkg;
-    services.dbus.packages = cfg.package;
-    systemd.packages = cfg.package;
-    environment.systemPackages = cfg.package;
+    services.udev.packages = mkIf cfg.enableUdevRules [ cfg.package ];
+    services.dbus.packages = [ cfg.package ];
+    systemd.packages = [ cfg.package ];
+    environment.systemPackages = [ cfg.package ];
     systemd.services.input-remapper.wantedBy = [ "graphical.target" ];
   };
+
+  meta.maintainers = with lib.maintainers; [ LunNova ];
 }