diff --git a/services/README.md b/services/README.md
new file mode 100644
index 00000000..1a736521
--- /dev/null
+++ b/services/README.md
@@ -0,0 +1,31 @@
+# Services
+
+This directory contains the definition of a NixOS module allowing to easily set
+up the Fediverse services that our project cares about. Those services are
+already packaged in nixpkgs, which arguably already provides this. Here is
+therefore the important distinction:
+
+- The goal of nixpkgs is to be generic, bring all the building blocks and let
+  you do whatever it is you want with them. You get to choose all the options,
+  if to use a reverse proxy, which one, if to use an S3 backend, which one,
+  which database, etc.
+
+- This module aims at being straightforward to use by being opinionated. It only
+  supports the use case of the Fediversity project and strives to hide as much
+  of the nitty-gritty details as possible.
+
+For those that know it, we could say that the current module is an analogous of
+[simple-nixos-mailserver] for Fediverse services.
+
+[simple-nixos-mailserver]: https://gitlab.com/simple-nixos-mailserver/nixos-mailserver
+
+## Content of this directory
+
+- [fediversity][./fediversity] contains the definition of the services. Look in
+  particular at its `default.nix` that contains the definition of the options.
+
+- [vm][./vm] contains options specific to making the service run in local QEMU
+  VMs. These modules will for instance override the defaults to disable SSL, and
+  they will add virtualisation options to forward ports, for instance.
+
+- [tests][./tests] contain full NixOS tests of the services.