nixos/mautrix-*: add package option (#400113)
This commit is contained in:
@@ -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}'
|
||||
'';
|
||||
|
||||
@@ -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}'
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -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}'
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user