{ lib, pkgs, config, ... }: let inherit (pkgs) runCommand; mailmanCfg = config.services.mailman; in { services.postgresql.enable = true; services.postgresql.ensureDatabases = [ "mailman" ]; services.postgresql.ensureUsers = [ { name = "mailman"; ensureDBOwnership = true; } ]; services.mailman.enable = true; services.mailman.siteOwner = "postmaster@spectrum-os.org"; services.mailman.webHosts = [ "spectrum-os.org" ]; services.mailman.hyperkitty.enable = true; services.mailman.hyperkitty.baseUrl = "http://localhost:18507/lists/hyperkitty/"; services.mailman.settings.database.class = "mailman.database.postgresql.PostgreSQLDatabase"; services.mailman.settings.database.url = "postgresql:///mailman"; services.mailman.extraConfig = '' [antispam] header_checks: X-Spam-Flag: YES [logging.template] level: debug ''; services.mailman.webSettings.ADMINS = [ [ "Alyssa Ross" "hi@alyssa.is" ] ]; services.mailman.webSettings.ALLOWED_HOSTS = [ "localhost" "127.0.0.1" "spectrum-os.org" ]; services.mailman.webSettings.INSTALLED_APPS = [ "hyperkitty" "postorius" "django_mailman3" "django.contrib.admin" "django.contrib.auth" "django.contrib.contenttypes" "django.contrib.sessions" "django.contrib.sites" "django.contrib.messages" "django.contrib.staticfiles" "rest_framework" "django_gravatar" "compressor" "haystack" "django_extensions" "django_q" "allauth" "allauth.account" "allauth.socialaccount" ]; services.mailman.webSettings.USE_X_FORWARDED_HOST = true; services.mailman.webSettings.SECURE_PROXY_SSL_HEADER = [ "HTTP_X_FORWARDED_SCHEME" "https" ]; services.mailman.webSettings.SESSION_COOKIE_SECURE = true; services.mailman.webSettings.SECURE_CONTENT_TYPE_NOSNIFF = true; services.mailman.webSettings.SECURE_BROWSER_XSS_FILTER = true; services.mailman.webSettings.CSRF_COOKIE_SECURE = true; services.mailman.webSettings.CSRF_COOKIE_HTTPONLY = true; services.mailman.webSettings.LANGUAGE_CODE = "en-gb"; services.mailman.webSettings.STATIC_URL = "/lists/static/"; services.mailman.webSettings.DEFAULT_FROM_EMAIL = "postmaster@spectrum-os.org"; services.mailman.webSettings.SERVER_EMAIL = "postmaster@spectrum-os.org"; services.mailman.webSettings.SOCIALACCOUNT_PROVIDERS = {}; services.mailman.webSettings.COMPRESS_CSS_HASHING_METHOD = "content"; services.mailman.webSettings.FILTER_VHOST = true; systemd.services.mailman.after = [ "postgresql.service" ]; services.mailman.serve.enable = true; services.mailman.serve.virtualRoot = "/lists"; }