diff options
| author | andromeda <andromeda@lenovo> | 2026-01-06 14:52:34 +0100 |
|---|---|---|
| committer | andromeda <andromeda@lenovo> | 2026-01-06 14:52:34 +0100 |
| commit | c9a5c521dbc7785aa4a6c1f410e547202075c13b (patch) | |
| tree | 4362c945c787bac5d7d1bb63d04d7281bfddf6c8 /modules/nixos/zulip.nix | |
| parent | 0a7e0c699e2f4fa07fb6dde0080da4eb3ac8f746 (diff) | |
stash
Diffstat (limited to 'modules/nixos/zulip.nix')
| -rw-r--r-- | modules/nixos/zulip.nix | 67 |
1 files changed, 19 insertions, 48 deletions
diff --git a/modules/nixos/zulip.nix b/modules/nixos/zulip.nix index cc74179..736ffad 100644 --- a/modules/nixos/zulip.nix +++ b/modules/nixos/zulip.nix @@ -1,52 +1,23 @@ -{ - config, - lib, - pkgs, - modulesPath, - ... -}: { - imports = []; - options.x = { - zulip = { - enable = true; - admin_email = lib.mkOption { - type = lib.types.str; - default = "admin+zulip@${config.networking.domain}"; - }; - integration = { - persistance.enable = lib.mkOption { - type = lib.types.bool; - description = "whether persistance is enabled"; - default = lib.mkDefault false; - }; - mailserver.enable = lib.mkOption { - type = lib.types.bool; - description = "creates simple-nixos-mailserver login automatically for admin user"; - }; - }; +{config, ...}: { + imports = [ + ./mailserver.nix + ]; + services.zulip = { + enable = true; + host = "zulip.${config.networking.domain}"; + camoKeyFile = builtins.toString config.age.secrets.zulip-camoKey.path; + rabbitmqPasswordFile = builtins.toString config.age.secrets.zulip-rabbitmqPassword.path; + secretKeyFile = builtins.toString config.age.secrets.zulip-secretKey.path; + sharedSecretKeyFile = builtins.toString config.age.secrets.zulip-sharedSecretKey.path; + avatarSaltKeyFile = builtins.toString config.age.secrets.zulip-avatarSaltKey.path; + zulipSettings = { + ZULIP_ADMINISTRATOR = "admin+zulip@${config.networking.domain}"; + EXTERNAL_HOST = "chat.${config.networking.domain}"; }; }; - config = let - cfg = config.x.zulip; - in - lib.mkIf cfg.enable { - services.zulip = { - enable = true; - host = "zulip.${config.networking.domain}"; - camoKeyFile = builtins.toString config.age.secrets.zulip-camoKey.path; - rabbitmqPasswordFile = builtins.toString config.age.secrets.zulip-rabbitmqPassword.path; - secretKeyFile = builtins.toString config.age.secrets.zulip-secretKey.path; - sharedSecretKeyFile = builtins.toString config.age.secrets.zulip-sharedSecretKey.path; - avatarSaltKeyFile = builtins.toString config.age.secrets.zulip-avatarSaltKey.path; - zulipSettings = { - ZULIP_ADMINISTRATOR = cfg.admin_email; - EXTERNAL_HOST = "chat.${config.networking.domain}"; - }; - }; - services.mailserver.loginAccounts = lib.mkIf cfg.integration.mailserver.enable { - "admin+zulip@${config.networking.domain}" = { - hashedPasswordFile = builtins.toString config.age.secrets.secret3.path; - }; - }; + mailserver.loginAccounts = { + "zulip+admin@${config.networking.domain}" = { + hashedPasswordFile = builtins.toString config.age.secrets."mailserver-acc-zulip+admin-pw".path; }; + }; } |
