diff --git a/doc/build.rst b/doc/build.rst
index 55d93032b6852077e6d9d5f488d27d853cdbbe27..819a54e0bc035a4f31d2e278f150931beb5c3f7c 100644
--- a/doc/build.rst
+++ b/doc/build.rst
@@ -135,6 +135,25 @@ The build system supports both DESTDIR_ and `amalgamated builds <https://www.sql
 
 .. note:: Amalgamated build assembles everything in one source file and compiles it. It is useful for packages, as the compiler sees the whole program and is able to produce a smaller and faster binary. On the other hand, it complicates debugging.
 
+Default paths
+~~~~~~~~~~~~~
+
+The default installation follows FHS with several custom paths for configuration and modules.
+All paths are prefixed with ``PREFIX`` variable by default if not specified otherwise.
+
+  .. csv-table::
+   :header: "Component", "Variable", "Default", "Notes"
+
+   "library", "``LIBDIR``", "``$(PREFIX)/lib``", "Built statically."
+   "daemon",  "``BINDIR``", "``$(PREFIX)/bin``", ""
+   "configuration", "``ETCDIR``", "``$(PREFIX)/etc/kresd``", "Configuration file, templates."
+   "modules", "``MODULEDIR``", "``$(LIBDIR)/kdns_modules``", "[#]_"
+   "work directory", "", "``$(PREFIX)/var/run/kresd``", "Run directory for daemon."
+
+.. [#] Users may install additional modules in ``~/.local/lib/kdns_modules`` or in the rundir of a specific instance.
+
+.. note:: Each module is self-contained and may install additional bundled files within ``$(MODULEDIR)/$(modulename)``. These files should be read-only, non-executable.
+
 Building dependencies
 ~~~~~~~~~~~~~~~~~~~~~