nix to json schema coverage #626

Open
opened 2025-12-03 15:14:07 +01:00 by kiara · 2 comments
Owner

As a Fediversity maintainer,
I want our converter from nix option modules to JSON schemas to cover further Nix types,
so that we may expose more NixOS service modules through Fediversity.

implementation notes

builds upon existing module (from #285) converting nix option modules to JSON schemas.

ways to expand on that include:

**As** a Fediversity maintainer, **I want** our converter from nix option modules to JSON schemas to cover further Nix types, **so that** we may expose more NixOS service modules through Fediversity. ### implementation notes builds upon existing module (from #285) converting nix option modules to JSON schemas. ways to expand on that include: - [x] include [`$defs`](https://json-schema.org/understanding-json-schema/structuring#defs) - [ ] include remaining options given default/configured settings? - [x] untie from clan's use-case - see fediversity/meta#38 - [x] [`attrTag`](https://git.clan.lol/clan/clan-core/issues/7127) - ~~used in [contracts implementation](https://github.com/KiaraGrouwstra/nixpkgs/compare/contracts-secret-generated...contracts-introspection)~~ - [ ] [conditionals](https://json-schema.org/understanding-json-schema/reference/conditionals) - [ ] [`format`](https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-validation-00#format) (see #987)
Author
Owner
this would now fall under https://git.fediversity.eu/fediversity/module-schema
Author
Owner

conditionals i think we considered promoting into their own story (/cc @toonn)

conditionals i think we considered promoting into their own story (/cc @toonn)
toonn added this to the Dev project 2026-08-04 11:59:37 +02:00
toonn self-assigned this 2026-08-04 12:57:16 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
fediversity/fediversity#626
No description provided.