diff --git a/nixos/modules/services/matrix/mautrix-signal.nix b/nixos/modules/services/matrix/mautrix-signal.nix index 4695d7c7423c..c7ef540b4f59 100644 --- a/nixos/modules/services/matrix/mautrix-signal.nix +++ b/nixos/modules/services/matrix/mautrix-signal.nix @@ -68,6 +68,8 @@ in options.services.mautrix-signal = { enable = lib.mkEnableOption "mautrix-signal, a Matrix-Signal puppeting bridge"; + package = lib.mkPackageOption pkgs "mautrix-signal" { }; + settings = lib.mkOption { apply = lib.recursiveUpdate defaultConfig; type = settingsFormat.type; @@ -206,7 +208,7 @@ in # generate the appservice's registration file if absent if [ ! -f '${registrationFile}' ]; then - ${pkgs.mautrix-signal}/bin/mautrix-signal \ + ${cfg.package}/bin/mautrix-signal \ --generate-registration \ --config='${settingsFile}' \ --registration='${registrationFile}' @@ -234,7 +236,7 @@ in StateDirectory = baseNameOf dataDir; WorkingDirectory = dataDir; ExecStart = '' - ${pkgs.mautrix-signal}/bin/mautrix-signal \ + ${cfg.package}/bin/mautrix-signal \ --config='${settingsFile}' \ --registration='${registrationFile}' ''; diff --git a/nixos/modules/services/matrix/mautrix-telegram.nix b/nixos/modules/services/matrix/mautrix-telegram.nix index f3adbc26ab58..74f18923d790 100644 --- a/nixos/modules/services/matrix/mautrix-telegram.nix +++ b/nixos/modules/services/matrix/mautrix-telegram.nix @@ -18,6 +18,8 @@ in services.mautrix-telegram = { enable = lib.mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge"; + package = lib.mkPackageOption pkgs "mautrix-telegram" { }; + settings = lib.mkOption rec { apply = lib.recursiveUpdate default; inherit (settingsFormat) type; @@ -201,7 +203,7 @@ in # generate the appservice's registration file if absent if [ ! -f '${registrationFile}' ]; then - ${pkgs.mautrix-telegram}/bin/mautrix-telegram \ + ${cfg.package}/bin/mautrix-telegram \ --generate-registration \ --config='${settingsFile}' \ --registration='${registrationFile}' @@ -220,9 +222,9 @@ in umask $old_umask '' - + lib.optionalString (pkgs.mautrix-telegram ? alembic) '' + + lib.optionalString (cfg.package ? alembic) '' # run automatic database init and migration scripts - ${pkgs.mautrix-telegram.alembic}/bin/alembic -x config='${settingsFile}' upgrade head + ${cfg.package.alembic}/bin/alembic -x config='${settingsFile}' upgrade head ''; serviceConfig = { @@ -238,13 +240,13 @@ in ProtectControlGroups = true; PrivateTmp = true; - WorkingDirectory = pkgs.mautrix-telegram; # necessary for the database migration scripts to be found + WorkingDirectory = cfg.package; # necessary for the database migration scripts to be found StateDirectory = baseNameOf dataDir; UMask = "0027"; EnvironmentFile = cfg.environmentFile; ExecStart = '' - ${pkgs.mautrix-telegram}/bin/mautrix-telegram \ + ${cfg.package}/bin/mautrix-telegram \ --config='${settingsFile}' ''; }; diff --git a/nixos/modules/services/matrix/mautrix-whatsapp.nix b/nixos/modules/services/matrix/mautrix-whatsapp.nix index 165e614fec48..d43032f9a31d 100644 --- a/nixos/modules/services/matrix/mautrix-whatsapp.nix +++ b/nixos/modules/services/matrix/mautrix-whatsapp.nix @@ -51,6 +51,8 @@ in options.services.mautrix-whatsapp = { enable = lib.mkEnableOption "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp"; + package = lib.mkPackageOption pkgs "mautrix-whatsapp" { }; + settings = lib.mkOption { type = settingsFormat.type; default = defaultConfig; @@ -168,7 +170,7 @@ in # generate the appservice's registration file if absent if [ ! -f '${registrationFile}' ]; then - ${pkgs.mautrix-whatsapp}/bin/mautrix-whatsapp \ + ${cfg.package}/bin/mautrix-whatsapp \ --generate-registration \ --config='${settingsFile}' \ --registration='${registrationFile}' @@ -196,7 +198,7 @@ in StateDirectory = baseNameOf dataDir; WorkingDirectory = dataDir; ExecStart = '' - ${pkgs.mautrix-whatsapp}/bin/mautrix-whatsapp \ + ${cfg.package}/bin/mautrix-whatsapp \ --config='${settingsFile}' \ --registration='${registrationFile}' '';