grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / misc / logkeys.nix
blob428ce626b715b8d75c3a2e4f3e6768409d52430a
1 { config, lib, pkgs, ... }:
2 let
3   cfg = config.services.logkeys;
4 in {
5   options.services.logkeys = {
6     enable = lib.mkEnableOption "logkeys, a keylogger service";
8     device = lib.mkOption {
9       description = "Use the given device as keyboard input event device instead of /dev/input/eventX default.";
10       default = null;
11       type = lib.types.nullOr lib.types.str;
12       example = "/dev/input/event15";
13     };
14   };
16   config = lib.mkIf cfg.enable {
17     systemd.services.logkeys = {
18       description = "LogKeys Keylogger Daemon";
19       wantedBy = [ "multi-user.target" ];
20       serviceConfig = {
21         ExecStart = "${pkgs.logkeys}/bin/logkeys -s${lib.optionalString (cfg.device != null) " -d ${cfg.device}"}";
22         ExecStop = "${pkgs.logkeys}/bin/logkeys -k";
23         Type = "forking";
24       };
25     };
26   };