Configuration Schema

The schema for the configuration file is defined in nixos/settings.nix. This schema is used for

  • generating Go code so Hyprspace can parse the configuration
  • typed configuration in the NixOS module
  • generating the [[configuration|config documentation]]

The conversion to Go code happens by first converting the module options to a JSON schema using clan.lol's NixOS to JSON schema converter. The JSON schema is then used to generate Go code using go-jsonschema.