Vue + JSONForms widget bundle rendering a NixOS-module-derived JSON Schema in a deploy-vs-baseline diff workflow https://nix-module-form.pages.git.fediversity.eu/
  • TypeScript 55.5%
  • JavaScript 34.4%
  • Nix 7.8%
  • CSS 2.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Kiara Grouwstra 1e00e34061
All checks were successful
checks-panel-forms-island / panel-forms-island (push) Successful in 3s
checks-panel-forms-island-dom / panel-forms-island-dom (push) Successful in 5s
checks-panel-forms-island-docs / panel-forms-island-docs (push) Successful in 5s
checks-treefmt / treefmt (push) Successful in 5s
publish-nix-module-form / publish-nix-module-form (push) Successful in 6s
Merge pull request 'flake: instantiate the entrypoint once per system' (#13) from hoist-flake-entrypoint into main
Reviewed-on: #13
2026-08-12 23:47:34 +02:00
.forgejo/workflows ci: publish docs to nix-module-form.pages.git.fediversity.eu 2026-07-17 15:40:57 +02:00
docs Initial import: nix-module-form widget (Vue + JSONForms diff bundle) 2026-07-12 15:22:47 +02:00
nix deps: consume nix-docs-lib with only pkgs, drop redundant ndg pin 2026-07-12 18:59:05 +02:00
npins npins: update nixpkgs (#9) 2026-08-04 11:10:33 +02:00
patches Resolve a $ref on the map key type in vue-vuetify's map renderer (#4) 2026-07-18 18:42:52 +02:00
src retain form fields across a variant switch (#12) 2026-08-11 10:02:47 +02:00
.envrc Initial import: nix-module-form widget (Vue + JSONForms diff bundle) 2026-07-12 15:22:47 +02:00
.gitignore Initial import: nix-module-form widget (Vue + JSONForms diff bundle) 2026-07-12 15:22:47 +02:00
default.nix Wrap entrypoint param re-exports into args so flake show stops printing unknown 2026-07-13 11:04:10 +02:00
dom-test.nix Drop a tagged union's cross-branch validation noise from the failing paths (#6) 2026-07-18 20:03:06 +02:00
flake.nix flake: instantiate the entrypoint once per system 2026-08-12 23:34:23 +02:00
LICENSE Add LICENSE (EUPL-1.2) to match the fediversity monorepo 2026-07-13 10:07:37 +02:00
package-lock.json Initial import: nix-module-form widget (Vue + JSONForms diff bundle) 2026-07-12 15:22:47 +02:00
package.json Add LICENSE (EUPL-1.2) to match the fediversity monorepo 2026-07-13 10:07:37 +02:00
package.nix Inherit the parent AJV in vue-vuetify's map renderer (#3) 2026-07-18 14:28:34 +02:00
README.md ci: publish docs to nix-module-form.pages.git.fediversity.eu 2026-07-17 15:40:57 +02:00
shell.nix Initial import: nix-module-form widget (Vue + JSONForms diff bundle) 2026-07-12 15:22:47 +02:00
test.nix retain form fields across a variant switch (#12) 2026-08-11 10:02:47 +02:00
treefmt.nix Initial import: nix-module-form widget (Vue + JSONForms diff bundle) 2026-07-12 15:22:47 +02:00
tsconfig.json Initial import: nix-module-form widget (Vue + JSONForms diff bundle) 2026-07-12 15:22:47 +02:00
vite.config.ts Initial import: nix-module-form widget (Vue + JSONForms diff bundle) 2026-07-12 15:22:47 +02:00

nix-module-form

A Vue + JSONForms widget bundle that renders a NixOS-module-derived JSON Schema in a deploy-vs-baseline diff workflow, with per-field change highlighting.

package.nix builds forms-island.{js,css} from src/. An embedder passes its own entry adapter (a .ts mounting the island against its data source); with entry = null (the default) the package builds the standalone library bundle.

Extracted from the fediversity monorepo, where it was nix-module-form/, so the widget can version and ship independently. The monorepo consumes it back via an npins pin and hands in a panel-specific adapter. The shared ndg documentation machinery lives in the nix-docs-lib pin.

Rendered docs (this repo's flake attributes) are published on push to main at https://nix-module-form.pages.git.fediversity.eu/.

Development

nix flake show
nix build .#packages.x86_64-linux.default       # the library bundle (entry = null)
nix build .#checks.x86_64-linux.treefmt
nix build .#checks.x86_64-linux.panel-forms-island       # unit tests
nix build .#checks.x86_64-linux.panel-forms-island-dom   # headless-DOM component test
nix build .#checks.x86_64-linux.panel-forms-island-docs  # flake-attributes doc site
                                                         # (published at nix-module-form.pages.git.fediversity.eu)