Commit graph

88 commits

Author SHA1 Message Date
Wolfgang Walther aefcb0d50d
treewide: run nixfmt 1.0.0 2025-07-24 14:58:18 +02:00
Alyssa Ross afdbf499ac nixos/mailman: hyperkitty needs mailman-web-setup
qcluster won't be happy if it's started before the database migrations
have been run.

	12:25:47 [Q] ERROR Failed to pull task from broker
	Traceback (most recent call last):
	  File "/nix/store/w5ndmidmkiy02vvgl7cxx1fkzc1pichg-python3-3.12.9-env/lib/python3.12/site-packages/django/db/backends/utils.py", line 89, in _execute
	    return self.cursor.execute(sql, params)
	           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	  File "/nix/store/w5ndmidmkiy02vvgl7cxx1fkzc1pichg-python3-3.12.9-env/lib/python3.12/site-packages/django/db/backends/sqlite3/base.py", line 328, in execute
	    return super().execute(query, params)
	           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	sqlite3.OperationalError: no such table: django_q_ormq
2025-05-05 20:06:00 +02:00
Silvan Mosberger 374e6bcc40 treewide: Format all Nix files
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
2025-04-01 20:10:43 +02:00
Maximilian Bosch 303bd80713
Merge: nixos/nginx: add locations."name".uwsgiPass option and use it (#346776) 2025-03-01 12:34:20 +01:00
Lorenz Leutgeb 578baae41d nixos/mailman: Remove unused extraPythonPackages 2024-12-22 16:22:32 +01:00
Sandro Jäckel d1a28bbdb4
nixos/nginx: add locations."name".uwsgiPass and related options and use it 2024-12-11 01:07:02 +01:00
Yureka 4d8e8de0d9 nixos/mailman: increase uwsgi buffer size
otherwise results in 502 bad gateway errors with some clients (which send a lot of cookies?)

Change-Id: I9aadedb7acde0388f060dbb82ccd8788f41ff0e6
2024-12-08 10:36:18 +01:00
Sandro 1d62a85ff5
nixos/mailman: add option to expand the uwsgi settings (#333315) 2024-11-29 00:53:55 +01:00
Sandro Jäckel 61d15c60fc
nixos/mailman: add option to expand the uwsgi settings 2024-11-27 23:02:47 +01:00
Sandro Jäckel 1b510687b4
nixos/mailman: wrap mailman cli to start as mailman user
This is essential when postgres socket authentication is used.
2024-10-18 01:50:24 +02:00
Sandro 6ac83e9406
nixos/mailman: configure web frontend with postfix when enablePostfix… (#333295) 2024-09-25 18:33:50 +02:00
Felix Buehler 0c91ea6ec1 nixos/services.mailman: remove with lib; 2024-08-24 23:20:06 +02:00
Sandro Jäckel 8bffd5f04b
nixos/mailman: configure web frontend with postfix when enablePostfix is turned on 2024-08-08 20:14:51 +02:00
Sandro Jäckel 0bf368c8ac
nixos/mailman: allow setting relay domains with services.postfix.config.relay_domains 2024-08-05 21:15:28 +02:00
Peder Bergebakken Sundt b2a54feb35
Merge pull request #279408 from alyssais/mailman-nginx-timeout
nixos/mailman: increase nginx proxy timeout
2024-07-19 17:56:07 +02:00
Linus Heckemann e5adf0b547 maintainers: drop lheckemann 2024-06-21 15:54:54 +02:00
Felix Buehler a181e098c9 nixos/mailman: prefer 'install' over 'chmod/chown' 2024-04-30 22:51:40 +02:00
stuebinm 6afb255d97 nixos: remove all uses of lib.mdDoc
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.
2024-04-13 10:07:35 -07:00
Alyssa Ross 4481ce601f
nixos/mailman: increase nginx proxy timeout
In my experience, just after boot, the default timeout of 60 seconds
often isn't quite enough for Mailman.  It's better for the user to
have the request take a little longer than it is to 504.
2024-01-07 16:56:10 +01:00
Molly Miller 9cec5c807a nixos/mailman: restart services on failure and increase mailman timeouts 2023-11-13 16:10:55 +01:00
github-actions[bot] cfc75eec46
Merge master into staging-next 2023-10-20 18:00:54 +00:00
Vladimír Čunát 9320d9e7bc
Merge #260527: Mailman fixes
...into staging-next
2023-10-20 18:56:03 +02:00
Bjørn Forsman 142074c2a8 nixos: fix bad mkEnableOption descriptions
Fix descriptions that don't account for (1) the "Whether to enable"
prefix or (2) the automatically added trailing dot.
2023-10-20 16:22:40 +01:00
Maximilian Bosch 2ee12a93de treewide: remove myself (ma27) from a few packages
It's time again, I guess :>

Main motivation is to stop being pinged about software that I maintained
for work now that I'm about to switch jobs. There's no point in pinging
me to review/test updates or to debug issues in e.g. the Atlassian stack
or on mailman since I use neither personally.

But there's also a bunch of other stuff that I stopped using personally. While
at it I realized that I'm still maintainer of a few tests & modules related to
packages I stopped maintaining in the past already.
2023-10-18 15:47:20 -03:00
Molly Miller 1a794a3e4b nixos/mailman: store locks in ephemeral runtime directory
nixosTests.mailman: test mailman master lock handling
2023-10-12 10:39:18 +00:00
Alyssa Ross 21e3908ea3
nixos/mailman: ensure uwsgi uses mailman's python
If they differ, uwsgi will fail to start, because it won't be able to
find the appropriate libraries.
2023-10-11 20:20:12 +00:00
Alyssa Ross 7ddca49451 nixos/mailman: set RemainAfterExit for settings
This seems to be required to have the unit re-run if
services.mailman.restApiPassFile gets set.
2023-05-19 12:03:41 +02:00
Alyssa Ross 43465c94d4 nixos/mailman: randomly generate REST API token 2023-05-19 12:03:41 +02:00
pennae 0a6e6cf7e6 nixos/manual: render module chapters with nixos-render-docs
this converts meta.doc into an md pointer, not an xml pointer. since we
no longer need xml for manual chapters we can also remove support for
manual chapters from md-to-db.sh

since pandoc converts smart quotes to docbook quote elements and our
nixos-render-docs does not we lose this distinction in the rendered
output. that's probably not that bad, our stylesheet didn't make use of
this anyway (and pre-23.05 versions of the chapters didn't use quote
elements either).

also updates the nixpkgs manual to clarify that option docs support all
extensions (although it doesn't support headings at all, so heading
anchors don't work by extension).
2023-01-27 20:07:34 +01:00
Maximilian Bosch 05f6dd4dc6
nixos/mailman: fix hyperkitty css/js when virtualRoot is /
The `manage-script-name` / `mount` approach doesn't work if you don't
serve your instance behind e.g. `/lists`.
2023-01-04 11:59:27 +01:00
figsoda 6bb0dbf91f nixos: fix typos 2022-12-17 19:31:14 -05:00
Maximilian Bosch 367897a68b
nixos/mailman: remove trailing slash from /static location
Otherwise HTTP routes such as `/static/django-mailman3/css/main.css`
will cause a 404.
2022-12-03 13:03:26 +01:00
Alyssa Ross 1cdd9a3fe6
nixos/mailman: add serve.virtualRoot option
On spectrum-os.org, mailman-web is run at /lists.  With this change,
it's possible for us to switch from a custom uWSGI configuration to
the one now built in to the Mailman module.
2022-09-07 07:10:27 +00:00
pennae ef176dcf7e nixos/*: automatically convert option descriptions
conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

    nix-doc-munge nixos/**/*.nix
    nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.
2022-08-31 16:32:53 +02:00
pennae 61e93df189 nixos/*: automatically convert option docs to MD
once again using nix-doc-munge (69d080323a)
2022-08-03 22:46:41 +02:00
pennae 3aebb4a2be nixos/*: normalize link format
make (almost) all links appear on only a single line, with no
unnecessary whitespace, using double quotes for attributes. this lets us
automatically convert them to markdown easily.

the few remaining links are extremely long link in a gnome module, we'll
come back to those at a later date.
2022-08-03 21:57:46 +02:00
pennae 2e751c0772 treewide: automatically md-convert option descriptions
the conversion procedure is simple:

 - find all things that look like options, ie calls to either `mkOption`
   or `lib.mkOption` that take an attrset. remember the attrset as the
   option
 - for all options, find a `description` attribute who's value is not a
   call to `mdDoc` or `lib.mdDoc`
 - textually convert the entire value of the attribute to MD with a few
   simple regexes (the set from mdize-module.sh)
 - if the change produced a change in the manual output, discard
 - if the change kept the manual unchanged, add some text to the
   description to make sure we've actually found an option. if the
   manual changes this time, keep the converted description

this procedure converts 80% of nixos options to markdown. around 2000
options remain to be inspected, but most of those fail the "does not
change the manual output check": currently the MD conversion process
does not faithfully convert docbook tags like <code> and <package>, so
any option using such tags will not be converted at all.
2022-07-30 15:16:34 +02:00
Maximilian Bosch db9937b578
nixos/mailman: don't leak MAILMAN_REST_API_PASS into the store 2022-07-20 22:23:54 +02:00
Maximilian Bosch 6a5b1bc0a3
nixos/mailman: strip trailing \n when reading the secret 2022-07-04 21:15:56 +02:00
Maximilian Bosch dd4b6b81fa
nixos/mailman: implement LDAP support for postorius 2022-07-04 21:15:53 +02:00
Maximilian Bosch aea3ec632d
mailman: split python env for web and mailman 2022-05-20 01:36:48 +02:00
Maximilian Bosch 72a14ea563
mailman: refactor package structure
* Removed unused `.package`-option.
* Added explicit postgresql support.
* Create a new meta-package for mailman to make sure each component has
  the **same** python and packages can be downgraded if needed (e.g.
  psycopg2 or sqlalchemy) without interfering with `pythonPackages` in any way.
* Document why certain python overrides are needed.

Closes #170035
Closes #158424
2022-05-20 01:21:20 +02:00
Linus Heckemann 5e513b4b24
Merge pull request #167324 from alyssais/mailman-postfix
nixos/{postfix,mailman}: fix ordering between services
2022-04-20 16:34:43 +02:00
Alyssa Ross 572131c6a9
nixos/mailman: ensure Postfix is started after Mailman
On first run, Postfix will refuse to start if it's started before
Mailman is up, because it'll try to read the map files generated
Mailman the first time it's started, and they won't exist yet.  To fix
this, make sure Postfix isn't started until after Mailman is up if
they're both activated at the same time.
2022-04-20 13:17:28 +00:00
Linus Heckemann 0acfc5ed6e
Merge pull request #167323 from alyssais/mailman-ext_dir
nixos/mailman: remove obsolete setting
2022-04-12 21:27:27 +02:00
Linus Heckemann 918a149888
Merge pull request #167322 from alyssais/mailman-webHosts
nixos/mailman: improve empty webHosts error
2022-04-09 20:15:33 +02:00
Alyssa Ross fb2fa1b50f
nixos/postfix: pull setup into its own unit
Consider a service that generates postfix lookup tables with
postmap(1), like Mailman.  It needs the Postfix configuration file to
exist, but Postfix qmgr needs all the lookup tables its configured
with to exist before it starts.  So the service that runs postmap
needs to run after the Postfix configuration and directory structure
is generated, but before Postfix itself is started.  To enable this,
we split Postfix into two units: a oneshot unit that sets up the
configuration, and a longrun unit that supervises the Postfix
daemons.  The postmap services can then be inserted in between these
two units.
2022-04-05 10:24:34 +00:00
Alyssa Ross e7c301df52
nixos/mailman: remove obsolete setting
This was dropped in mailman 3.2.0.
2022-04-05 10:22:21 +00:00
Alyssa Ross f4a0bb8334
nixos/mailman: improve empty webHosts error
Now this configuration mistake will generate the assertion message,
instead of "error: list index 0 is out of bounds".
2022-04-05 10:18:57 +00:00
Wei Tang a62c5f3435
nixos/mailman: use separate virtualHosts 2021-10-17 17:15:12 +02:00