forked from Fediversity/meta
28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
# 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.
|