gpsprune: 24.5 -> 25
[NixPkgs.git] / nixos / modules / services / hardware / usbrelayd.nix
blob67c5e132e2ecee92580e9cddc995d1c06f36ff67
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
7 let
8   cfg = config.services.usbrelayd;
9 in
11   options.services.usbrelayd = with lib.types; {
12     enable = lib.mkEnableOption "USB Relay MQTT daemon";
14     broker = lib.mkOption {
15       type = str;
16       description = "Hostname or IP address of your MQTT Broker.";
17       default = "127.0.0.1";
18       example = [
19         "mqtt"
20         "192.168.1.1"
21       ];
22     };
24     clientName = lib.mkOption {
25       type = str;
26       description = "Name, your client connects as.";
27       default = "MyUSBRelay";
28     };
29   };
31   config = lib.mkIf cfg.enable {
33     environment.etc."usbrelayd.conf".text = ''
34       [MQTT]
35       BROKER = ${cfg.broker}
36       CLIENTNAME = ${cfg.clientName}
37     '';
39     services.udev.packages = [ pkgs.usbrelayd ];
40     systemd.packages = [ pkgs.usbrelayd ];
41     users.groups.usbrelay = { };
42   };
44   meta = {
45     maintainers = with lib.maintainers; [ wentasah ];
46   };