{ config, lib, pkgs, ... }: let grafanaMatrixForwarder = pkgs.callPackage ./default.nix {}; cfg = config.services.grafana-matrix-forwarder; in { options.services.grafana-matrix-forwarder = { enable = lib.mkEnableOption "grafana-matrix-forwarder"; port = lib.mkOption { type = lib.types.int; }; homeserver = lib.mkOption { type = lib.types.str; }; environmentFile = lib.mkOption { type = lib.types.path; }; }; config = lib.mkIf cfg.enable { systemd.services.grafana-matrix-forwarder = { serviceConfig = { ExecStart = "${grafanaMatrixForwarder}/bin/grafana-matrix-forwarder --port=${toString cfg.port} --homeserver ${cfg.homeserver}"; EnvironmentFile = cfg.environmentFile; DynamicUser = "true"; }; wantedBy = ["multi-user.target"]; }; }; }