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