From 880bd89c4d0983f5fbfb87802f6ba2ade7763cc6 Mon Sep 17 00:00:00 2001 From: Jonas Heinrich Date: Sun, 26 May 2024 12:28:29 +0200 Subject: [PATCH] nixos/stalwart-mail: package and configure webadmin --- nixos/modules/services/mail/stalwart-mail.nix | 8 +++++++- pkgs/by-name/st/stalwart-mail/package.nix | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/mail/stalwart-mail.nix b/nixos/modules/services/mail/stalwart-mail.nix index fe433f9a2662..aabe46d607a8 100644 --- a/nixos/modules/services/mail/stalwart-mail.nix +++ b/nixos/modules/services/mail/stalwart-mail.nix @@ -73,8 +73,14 @@ in { resolver.public-suffix = lib.mkDefault [ "file://${pkgs.publicsuffix-list}/share/publicsuffix/public_suffix_list.dat" ]; - config.resource = { + config.resource = let + hasHttpListener = builtins.any (listener: listener.protocol == "http") (lib.attrValues cfg.settings.server.listener); + in { spam-filter = lib.mkDefault "file://${cfg.package}/etc/stalwart/spamfilter.toml"; + } // lib.optionalAttrs ( + (builtins.hasAttr "listener" cfg.settings.server) && hasHttpListener + ) { + webadmin = lib.mkDefault "file://${cfg.package.webadmin}/webadmin.zip"; }; }; diff --git a/pkgs/by-name/st/stalwart-mail/package.nix b/pkgs/by-name/st/stalwart-mail/package.nix index 045143f15b79..c2a1d339caea 100644 --- a/pkgs/by-name/st/stalwart-mail/package.nix +++ b/pkgs/by-name/st/stalwart-mail/package.nix @@ -15,6 +15,7 @@ nix-update-script, nixosTests, rocksdb_8_11, + callPackage, }: let @@ -144,6 +145,7 @@ rustPlatform.buildRustPackage { doCheck = !(stdenv.isLinux && stdenv.isAarch64); passthru = { + webadmin = callPackage ./webadmin.nix { }; update-script = nix-update-script { }; tests.stalwart-mail = nixosTests.stalwart-mail; };