Since stalwart-mail 0.6.0, queue and report files are located in
the shared `storage.{data,blob}` stores. The `{queue,report}.path`
settings no longer had any effect since then.
I'm also removing the creation of the associated extra directories
in the `preStart` script. This should not cause any issue with old
setups since 0.6.0 was already packaged when 24.05 was released.
This sets RocksDB as the default storage backend for `stateVersion` >=
24.11. For previous `stateVersion`s, the structured data and blobs
remain on SQLite and the filesystem respectively.
This is closer to the suggested upstream configuration for fully local
storage.
This configures a default account directory for the Stalwart service.
It uses the default common database which was already configured.
Without this directory, admins could not manage users and groups using
the `stalwart-cli` tools.
This service stores a large number of files for its blob store and some
of its databases. This is not compatible with `DynamicUser`, which
`chown`s everything in the state directory every time the service is
started. Therefore, we now use a static system user and group instead.
See https://github.com/NixOS/nixpkgs/pull/313634#discussion_r1609960417
these changes were generated with nixq 0.0.2, by running
nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix
two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.
Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
Plugin configuration is pesky in dovecot2, let's warn about potential conflicts
in the module system by using a fancy regex.
This is only band-aid, this should be removed ASAP.
We clean up also a 21.05-era warning.
https://github.com/NixOS/nixpkgs/pull/275031 introduced structured configuration
for the dovecot2 sieve plugin, by doing so, it broke SNM configuration doing Sieve configurations.
This attempts to fix up the public API to make it possible for SNM to pick up the pieces.
For some reason, I don't know why I missed those, but
I didn't look at my logs for a while.
It would be nice if we could catch those statically kinda (?) in CI.