This is useful for sending build failure notifications and for serving public malinglists in conjunction with [Mailman](https://www.gnu.org/software/mailman/). Things left to do in no particular order: - [ ] Rewrite the type for `config` so that whenever something like `config.alias_maps.hash` is specified, the corresponding map file is automatically created. - [ ] Run each Postfix service as a different user. - [ ] Provide a sane default configuration. - [ ] Add module assertions for impossible service configuration combinations. - [ ] Improve NixOS VM test. - [ ] Handle `processLimit`. - [ ] Set ambient capabilities for Postfix services. - [ ] Move sockets to `/run`. - [ ] Implement chroot and namespacing. - [ ] Add a `postfix.target` to better control all Postfix service units at once. - [ ] Implement waking up Postfix services. - [ ] Strip down `postmap` to just map file creation. - [ ] Properly set permissions on sockt files. - [ ] Get rid of `postdrop` group. - [ ] Add an option for Postfix service description. - [ ] Implement custom merge function for the `config` option so that scalars is merged using lists. - [ ] Take care of helper programs like `sendmail` or `postqueue`. - [ ] Perform extra validation of the config file during build time. - [ ] Log to `stderr` instead of `syslog`. - [ ] Adjust throttling of service restarts. - [ ] Implement high level abstractions (like eg. `cfg.maps` or `cfg.restrictions`).
This is useful for sending build failure notifications and for serving public malinglists in conjunction with Mailman.
Things left to do in no particular order:
configso that whenever something likeconfig.alias_maps.hashis specified, the corresponding map file is automatically created.processLimit./run.postfix.targetto better control all Postfix service units at once.postmapto just map file creation.postdropgroup.configoption so that scalars is merged using lists.sendmailorpostqueue.stderrinstead ofsyslog.cfg.mapsorcfg.restrictions).