at 23.11-pre 934 B view raw
1{ config, lib, pkgs, ... }: 2with lib; 3let 4 cfg = config.services.usbrelayd; 5in 6{ 7 options.services.usbrelayd = with types; { 8 enable = mkEnableOption (lib.mdDoc "USB Relay MQTT daemon"); 9 10 broker = mkOption { 11 type = str; 12 description = lib.mdDoc "Hostname or IP address of your MQTT Broker."; 13 default = "127.0.0.1"; 14 example = [ 15 "mqtt" 16 "192.168.1.1" 17 ]; 18 }; 19 20 clientName = mkOption { 21 type = str; 22 description = lib.mdDoc "Name, your client connects as."; 23 default = "MyUSBRelay"; 24 }; 25 }; 26 27 config = mkIf cfg.enable { 28 29 environment.etc."usbrelayd.conf".text = '' 30 [MQTT] 31 BROKER = ${cfg.broker} 32 CLIENTNAME = ${cfg.clientName} 33 ''; 34 35 services.udev.packages = [ pkgs.usbrelayd ]; 36 systemd.packages = [ pkgs.usbrelayd ]; 37 users.groups.usbrelay = { }; 38 }; 39 40 meta = { 41 maintainers = with lib.maintainers; [ wentasah ]; 42 }; 43}