diff options
author | Pascal Bach <pascal.bach@nextrem.ch> | 2022-01-25 22:10:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-25 22:10:03 +0100 |
commit | ee59b970450db9d8cbd9efda5f67d66fdfddfda5 (patch) | |
tree | 0cb70b28a01f9f88ae04a409ffaf783529c11fda | |
parent | c0ad24ee1de4cb454c0b5abf340acdc5847f88a5 (diff) | |
parent | 2a701e80619658fd6554f2c2370545b511da087e (diff) | |
download | nixpkgs-ee59b970450db9d8cbd9efda5f67d66fdfddfda5.tar nixpkgs-ee59b970450db9d8cbd9efda5f67d66fdfddfda5.tar.gz nixpkgs-ee59b970450db9d8cbd9efda5f67d66fdfddfda5.tar.bz2 nixpkgs-ee59b970450db9d8cbd9efda5f67d66fdfddfda5.tar.lz nixpkgs-ee59b970450db9d8cbd9efda5f67d66fdfddfda5.tar.xz nixpkgs-ee59b970450db9d8cbd9efda5f67d66fdfddfda5.tar.zst nixpkgs-ee59b970450db9d8cbd9efda5f67d66fdfddfda5.zip |
Merge pull request #155473 from yayayayaka/matrix-synapse-administration
nixos/matrix-synapse: Wrap register_new_matrix_user
-rw-r--r-- | nixos/modules/services/misc/matrix-synapse.nix | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/nixos/modules/services/misc/matrix-synapse.nix b/nixos/modules/services/misc/matrix-synapse.nix index bee4d7667c8..feca4c5465f 100644 --- a/nixos/modules/services/misc/matrix-synapse.nix +++ b/nixos/modules/services/misc/matrix-synapse.nix @@ -119,6 +119,30 @@ ${cfg.extraConfig} hasLocalPostgresDB = let args = cfg.database_args; in usePostgresql && (!(args ? host) || (elem args.host [ "localhost" "127.0.0.1" "::1" ])); + + registerNewMatrixUser = + let + isIpv6 = x: lib.length (lib.splitString ":" x) > 1; + listener = + lib.findFirst ( + listener: lib.any ( + resource: lib.any ( + name: name == "client" + ) resource.names + ) listener.resources + ) (lib.last cfg.listeners) cfg.listeners; + in + pkgs.writeShellScriptBin "matrix-synapse-register_new_matrix_user" '' + exec ${cfg.package}/bin/register_new_matrix_user \ + $@ \ + ${lib.concatMapStringsSep " " (x: "-c ${x}") ([ configFile ] ++ cfg.extraConfigFiles)} \ + "${listener.type}://${ + if (isIpv6 listener.bind_address) then + "[${listener.bind_address}]" + else + "${listener.bind_address}" + }:${builtins.toString listener.port}/" + ''; in { options = { services.matrix-synapse = { @@ -792,6 +816,8 @@ in { UMask = "0077"; }; }; + + environment.systemPackages = [ registerNewMatrixUser ]; }; imports = [ |