Contribute or troubleshoot
To report an issue, please go to https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/issues.
If you have questions, feel free to reach out:
Matrix: #nixos-mailserver:nixos.org
IRC: #nixos-mailserver on Libera Chat
All our workflows rely on Nix being configured with Flakes.
Development Shell
We provide a flake.nix devshell that automatically sets up pre-commit hooks, which allows for fast feedback cycles when making changes to the repository.
$ nix develop
We recommend setting up direnv to automatically attach to the development environment when entering the project directories.
Run NixOS tests
To run the test suite, you need to enable Nix Flakes.
You can then run the testsuite via
$ nix flake check -L
Since Nix doesn't garantee your machine have enough resources to run all test VMs in parallel, some tests can fail. You would then haev to run tests manually. For instance:
$ nix build .#hydraJobs.x86_64-linux.external-unstable -L
Contributing to the documentation
The documentation is written in RST (except option documentation which is in CommonMark), built with Sphinx and published by Read the Docs.
For the syntax, see the RST/Sphinx primer.
To build the documentation, you need to enable Nix Flakes.
$ nix build .#documentation
$ xdg-open result/index.html