···
services.mautrix-telegram = {
enable = lib.mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge";
21
+
package = lib.mkPackageOption pkgs "mautrix-telegram" { };
settings = lib.mkOption rec {
apply = lib.recursiveUpdate default;
inherit (settingsFormat) type;
···
# generate the appservice's registration file if absent
if [ ! -f '${registrationFile}' ]; then
204
-
${pkgs.mautrix-telegram}/bin/mautrix-telegram \
206
+
${cfg.package}/bin/mautrix-telegram \
--generate-registration \
--config='${settingsFile}' \
--registration='${registrationFile}'
···
223
-
+ lib.optionalString (pkgs.mautrix-telegram ? alembic) ''
225
+
+ lib.optionalString (cfg.package ? alembic) ''
# run automatic database init and migration scripts
225
-
${pkgs.mautrix-telegram.alembic}/bin/alembic -x config='${settingsFile}' upgrade head
227
+
${cfg.package.alembic}/bin/alembic -x config='${settingsFile}' upgrade head
···
ProtectControlGroups = true;
241
-
WorkingDirectory = pkgs.mautrix-telegram; # necessary for the database migration scripts to be found
243
+
WorkingDirectory = cfg.package; # necessary for the database migration scripts to be found
StateDirectory = baseNameOf dataDir;
EnvironmentFile = cfg.environmentFile;
247
-
${pkgs.mautrix-telegram}/bin/mautrix-telegram \
249
+
${cfg.package}/bin/mautrix-telegram \
--config='${settingsFile}'