ModulesOxlint
oxlint-app.proto.nix
Unified field definitions for OxLint per-app configuration.
Unified field definitions for OxLint per-app configuration.
This is the SINGLE SOURCE OF TRUTH for OxLint module per-app options. It defines SpFields that simultaneously serve as:
1. Proto fields → OxlintAppConfig message (for Go/TS codegen)
2. Nix option source → oxlint/module.nix uses asOption to create lib.mkOption
3. UI panel source → oxlint/ui.nix uses fields for auto-generated panelsNOTE: The package option is Nix-only (listOf package has no proto equivalent)
and remains as a manual lib.mkOption in module.nix.
Usage from module.nix:
let oxlintSchema = import ./schema.nix { inherit lib; };
in { options = lib.mapAttrs (_: sp.asOption) oxlintSchema.fields; }Usage from ui.nix:
let oxlintSchema = import ./schema.nix { inherit lib; };
in panelsLib.mkPanelFromSpFields { fields = oxlintSchema.fields; ... }