dterm-nix/options.nix
The options of filnix's modules as evaluation knows them, as JSON for dterm-nix's option index (dterm_nix.pl --options). For each option: where it is declared, its type, default, example and description, and the files that define it in an evaluated system. The options are the ones a module declares and the ones it sets, so the index follows the modules without being edited by hand.
Paths are relative: "lib/filc-system.nix" in filnix, "nixpkgs/…" in Nixpkgs.
Nixpkgs' eval-config.nix, applied to a system and modules.
The flake, whose exported modules are listed, and the build platform's package set that ports/overlay.nix is applied with.
The exported modules: each with the file it is in and the machine it is evaluated in. The machine only supplies definitions; the options listed are the ones declared in the module's file and the ones its config sets. Both exported modules import the shared core, lib/filc-system.nix, which is listed on its own: module is the function in file whose config is walked, when it is not the exported module itself. A module the flake does not export (yet) is left out.
What the option's documentation says, as the manual renders it.
Only the default (mkOptionDefault, priority 1500) is not a definition.
The options a module's config sets: its definitions walked through mkMerge, mkIf and the overrides, down to the first path that is an option.
Which attributes of the Fil-C package set that ports/overlay.nix makes (a port or one of its overrides) are a derivation: those of the same name and derivation, among the names that begin with its first word (bash for bash-interactive, php for php-with-extensions).
The value of a set option in the evaluated machine, when it is a package or a list of them: the derivation's name and pname, and the overlay's attributes that build it.
Neither a port nor an override builds it: it is the package set's attribute of that pname, as Nixpkgs builds it, with Fil-C.
A module is a function of filnix, so its file is stated: without it its definitions would be attributed to the flake.
The value in the machine; of a list, the module's own elements.