Setting up Mailman on NixOS?

Is there any info out there describing how to set up a Mailman installation on NixOS? I see that there is a services.mailman module, but documentation seems to be pretty scarce and I’m having trouble working out how to proceed.


man configuration.nix is what you’re looking for any nixos options, or NixOS Search. You can also look at the nixos/modules/services/mail/mainman.nix to see the implementation.

Sorry, I guess I should have asked something more specific; I’m generally well aware of how to find things in nixpkgs and the nixos module system. Where I’m lost at the moment is in figuring out how to configure mailman3’s web interface. It looks like the intent might be that users override pkgs.python3Packages.mailman-web to produce a python environment with the desired Django configs inside it, but the description of services.mailman.webroot doesn’t make it particularly clear.

You should ping @alyssais as they are familiar with the module.

1 Like

After a fair bit of hacking I’ve come up with a working config that might be useful as an example.

Included here:

  • mailman and its web UI
  • hyperkitty for list archives
  • uwsgi as the django app server
  • oauth2 logins
  • nginx and letsencrypt for SSL termination

There are still some manual steps necessary to get the system fully operational; I’ll try to write it all up as a wiki page when I’m done.

Also note that this config requires NixOS 20.03; it won’t work with the mailman module in 19.09.


As promised, here’s a wiki page describing the setup process in depth: Mailman - NixOS Wiki