aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/modules/services/misc/logkeys.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/modules/services/misc/logkeys.nix')
-rw-r--r--nixpkgs/nixos/modules/services/misc/logkeys.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/nixpkgs/nixos/modules/services/misc/logkeys.nix b/nixpkgs/nixos/modules/services/misc/logkeys.nix
new file mode 100644
index 00000000000..0082db63a06
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/misc/logkeys.nix
@@ -0,0 +1,30 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.logkeys;
+in {
+ options.services.logkeys = {
+ enable = mkEnableOption "logkeys service";
+
+ device = mkOption {
+ description = "Use the given device as keyboard input event device instead of /dev/input/eventX default.";
+ default = null;
+ type = types.nullOr types.str;
+ example = "/dev/input/event15";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.logkeys = {
+ description = "LogKeys Keylogger Daemon";
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ ExecStart = "${pkgs.logkeys}/bin/logkeys -s${lib.optionalString (cfg.device != null) " -d ${cfg.device}"}";
+ ExecStop = "${pkgs.logkeys}/bin/logkeys -k";
+ Type = "forking";
+ };
+ };
+ };
+}