Change:
<ins> { lib , rustPlatform , fetchFromGitHub , pkg-config , protobuf , bzip2 , openssl , sqlite , zstd , stdenv , darwin , nix-update-script , nixosTests , rocksdb_8_11 }: let # Stalwart depends on rocksdb crate: # https://github.com/stalwartlabs/mail-server/blob/v0.8.0/crates/store/Cargo.toml#L10 # which expects a specific rocksdb versions: # https://github.com/rust-rocksdb/rust-rocksdb/blob/v0.22.0/librocksdb-sys/Cargo.toml#L3 # See upstream issue for rocksdb 9.X support # https://github.com/stalwartlabs/mail-server/issues/407 rocksdb = rocksdb_8_11; version = "0.8.0"; in rustPlatform.buildRustPackage { pname = "stalwart-mail"; inherit version; src = fetchFromGitHub { owner = "stalwartlabs"; repo = "mail-server"; rev = "v${version}"; hash = "sha256-V6Gl59938AplFW7pbrbGWB42+zRQBEaTUSW0+TMBo8I="; fetchSubmodules = true; }; cargoHash = "sha256-LWA08GNCrDlSwcSAlAi58OkoLs41fL6J5DPCsacozsM="; nativeBuildInputs = [ pkg-config protobuf rustPlatform.bindgenHook ]; buildInputs = [ bzip2 openssl sqlite zstd ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreFoundation darwin.apple_sdk.frameworks.Security darwin.apple_sdk.frameworks.SystemConfiguration ]; env = { OPENSSL_NO_VENDOR = true; ZSTD_SYS_USE_PKG_CONFIG = true; ROCKSDB_INCLUDE_DIR = "${rocksdb}/include"; ROCKSDB_LIB_DIR = "${rocksdb}/lib"; }; # Tests require reading to /etc/resolv.conf doCheck = false; passthru = { update-script = nix-update-script { }; tests.stalwart-mail = nixosTests.stalwart-mail; }; meta = with lib; { description = "Secure & Modern All-in-One Mail Server (IMAP, JMAP, SMTP)"; homepage = "https://github.com/stalwartlabs/mail-server"; changelog = "https://github.com/stalwartlabs/mail-server/blob/${version}/CHANGELOG"; license = licenses.agpl3Only; maintainers = with maintainers; [ happysalada ]; }; } </ins>

Discussion:
The new version of stalwart mail (0.7.0), has changed a lot and the module needs a rewrite for a while now, for example: I have forked nixpkgs, to remove the standard settings, to allow me to make a more complex setting. issues I see. No way to disable the default options, in: . WebUI is not currently supported The package imports the entire . <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
If you want to make a contribution, even a small one, im happy to help you get it merged !
I can take a look, as I have written quite extensive configuration for my Stalwart instance. I can check it out to make it available as a NixOS module
That would be amazing ! There is an open pr from the bot for the 0.7 upgrade, you can take over that one or make the update in a new pr. Thank you !
WIP module. I haven't tested it out yet. I will probably do so this evening:
Not yet entirely fixed, module and test need some work to support = 0.7.0
By the way, since migrating to stalwart = 0.7 requires some manual migration in any case, would it be worth setting the default database type to rocksdb instead of sqlite in the module?
In my opinion yes, for the love of Linux or just make it undefined. Do you have a git repo, where I can track your progress and when I have time, give improvements?