diff --git a/architecture-docs/NixDefinitions.md b/architecture-docs/NixDefinitions.md
new file mode 100644
index 0000000..85ceb7c
--- /dev/null
+++ b/architecture-docs/NixDefinitions.md
@@ -0,0 +1,27 @@
+# NixDefinitions
+
+## Where it's situated
+
+![](./architecture.png)
+
+### [NixConfigs](./NixConfigs.md)
+
+NixDefinitions is a layer of NixOS modules that exposes a simple interface of a few options (e.g. what services to run, domain names). Setting those options is the job of the layer above (NixConfigs).
+
+### [NixOS Instances](./NixOS_Instances.md) & [Services](./Services.md)
+
+The combination of NixConfigs and NixDefintions produces a detailed description of the Services and other system setup that should be running on the NixOS instances.
+
+### [NixOps](./NixOps.md)
+
+NixOps consumes the combined NixConfigs/NixDefintions configuration to know what the system should look like when deployed.
+
+### [NixGuard](./NixGuard.md)
+
+NixGuard compares the state of the NixConfigs/NixDefinitions to the running state to detect inconsistent state and either fix or report it.
+
+## Purpose
+
+NixDefinitions...
+- simplifies the job of NixPanel, allowing it to not worry at all about *how* machines work, but simply produce a machine-readable translation of the options set by Administrators.
+- factors out the system configuration that is common between any Fediversity system, defining a simple set of parameters that might differ between them.
diff --git a/architecture-docs/architecture.png b/architecture-docs/architecture.png
new file mode 100644
index 0000000..40dbd32
Binary files /dev/null and b/architecture-docs/architecture.png differ
diff --git a/architecture-docs/system-drawing.png b/architecture-docs/system.png
similarity index 100%
rename from architecture-docs/system-drawing.png
rename to architecture-docs/system.png