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:

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