Commit Graph

19 Commits

Author SHA1 Message Date
Martin Weinelt 1c57aab586 treewide: fix typos and other minor issues 2026-03-11 01:50:14 +01:00
emilylange 6ef1eb9ce1 assertions: fix eval error when mailserver.stateVersion is unset (null)
Eval does not stop on the first assertion failure it encouters.
Instead, it tries to evaluate all assertions and returns with a list of
those that failed.

This means our very top `config.mailserver.stateVersion != null`
assertion does not gate against any other assertions trying to compare
null against an integer.

The error prior to this commit can be reproduced by removing
`mailserver.stateVersion = 999;` in tests/lib/config.nix and then trying
to evaluate any of the tests:

~~~bash
# nix eval --raw .#checks.x86_64-linux.internal-unstable
error:
       … while evaluating the attribute 'outPath'
         at /nix/store/syvnmj3hhckkbncm94kfkbl76qsdqqj3-source/lib/customisation.nix:421:7:
          420|         drv.drvPath;
          421|       outPath =
             |       ^
          422|         assert condition;

       … while calling the 'getAttr' builtin
         at «internal»:1:500:
       (stack trace truncated; use '--show-trace' to show the full trace)

       error: cannot compare null with an integer
~~~
2025-06-21 20:15:46 +02:00
Martin Weinelt c9f61e02ae docs/howto-develop: fix stateVersion assertion example 2025-05-31 13:06:29 +02:00
Martin Weinelt 792225e256 Introduce stateVersion concept
With upcoming changes to the dovecot home and maildirectories we need to
introduce a way to nudge users to inform themselves about manual
migration steps they might need to carry out.

The idea here is to allow us to safely make breaking changes and notify
the user of required migration steps at eval time, so they can make the
necessary changes in time.
2025-05-27 23:54:15 +02:00
Martin Weinelt fce540024a docs/howto-develop: document the devshell 2025-05-15 16:29:05 +02:00
Martin Weinelt 040f07ff45 docs/howto-develop: update chat room references 2025-05-15 16:29:05 +02:00
Martin Weinelt a73982f5b4 docs: migrate wiki references to wiki.nixos.org
This has been the official wiki platform for a while now.
2025-05-15 16:29:05 +02:00
Martin Weinelt ddc6ce61db docs: fix linting issues
https://github.com/sphinx-doc/sphinx/issues/3921
2025-05-15 16:29:04 +02:00
Martin Weinelt b92870c240 treewide: drop nixops docs and examples
This is not a deployment system we recommend using anymore in 2025.

Closes: #320
2025-05-08 23:22:29 +02:00
Naïm Favier 0bbb2ac74e docs: drop options.md from the repository
Generate the file on the readthedocs builder using Nix. Since there is
no root access or user namespaces, we have to use proot (see
https://nixos.wiki/wiki/Nix_Installation_Guide#PRoot).
2022-12-22 20:45:03 +01:00
Naïm Favier 4fcab839d7 docs: use MarkDown for option docs 2022-12-22 20:45:01 +01:00
Antoine Eiche 4d087532b6 docs: generate the list of options
To generate the list of options, we need to generate and commit a rst
file to make all files available for ReadTheDoc.

An Hydra test ensures this generated file is up-to-date. If it is not
up-to-date, the error message explains the user how to generate it:
the user just needs to run `nix-shell --run generate-rst-options`.
2021-07-27 19:58:33 +00:00
Antoine Eiche a0f9688a31 Switch CI to Nix flakes
We also move tests to Flakes.

This would allow users to submit PRs with a fork of nixpkgs when they
want to test nixpkgs PRs against SNM.
2021-07-12 22:57:01 +02:00
Antoine Eiche 2eab26e05c Switch from Freenode to Libera 2021-05-27 09:00:29 +02:00
Antoine Eiche 8b28705621 Rename intern/extern tests to internal/external 2021-05-01 08:21:27 +02:00
Antoine Eiche 06cf3557df Mention the Freenode IRC chan #nixos-mailserver 2021-03-10 18:46:03 +01:00
Antoine Eiche 7e84fd4c93 doc: add a section howto
This section contains advanced configuration howtos.
2021-03-03 08:36:08 +00:00
Antoine Eiche 8db0e18438 docs: how to contribute to documentation 2020-07-06 22:33:19 +02:00
Antoine Eiche 781073b64d docs: create a readthedocs manual
The goal is to remove the WIKI since modifications can not be
submitted via PRs.
2020-07-06 19:48:51 +00:00