Registry options
The shared language-server and formatter registries. Languages and addons refer to entries here by name, so overriding one entry changes it for every editor at once.
devix.formatters
Reusable formatter registry.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
devix.formatters.<name>.enable
Enable this formatter.
Type: boolean
Default:
true
Declared by:
devix.formatters.<name>.package
Package providing this formatter.
Type: null or package
Default:
null
Declared by:
devix.formatters.<name>.args
Arguments passed to this formatter.
Type: list of string
Default:
[ ]
Declared by:
devix.formatters.<name>.command
Command used to run this formatter. Derived from package; set it
explicitly when the binary is not the package’s main program.
Type: string
Default:
lib.getExe package, or the registry key when there is no package
Declared by:
devix.formatters.<name>.consumers
Per-consumer exposure for this formatter (see lsps.<name>.consumers).
Type: submodule
Default:
{ }
Declared by:
devix.formatters.<name>.consumers.helix
Exposure toggle for the helix consumer.
Type: submodule
Default:
{ }
Declared by:
devix.formatters.<name>.consumers.helix.enable
Whether this is exposed to / configured for this consumer.
Type: boolean
Default:
true
Declared by:
devix.formatters.<name>.consumers.opencode
Exposure toggle for the opencode consumer.
Type: submodule
Default:
{ }
Declared by:
devix.formatters.<name>.consumers.opencode.enable
Whether this is exposed to / configured for this consumer.
Type: boolean
Default:
true
Declared by:
devix.formatters.<name>.consumers.zed
Exposure toggle for the zed consumer.
Type: submodule
Default:
{ }
Declared by:
devix.formatters.<name>.consumers.zed.enable
Whether this is exposed to / configured for this consumer.
Type: boolean
Default:
true
Declared by:
devix.lsps
Reusable language server registry.
Type: attribute set of (submodule)
Default:
{ }
Declared by:
devix.lsps.<name>.enable
Enable this language server.
Type: boolean
Default:
true
Declared by:
devix.lsps.<name>.package
Package providing this language server.
Type: null or package
Default:
null
Declared by:
devix.lsps.<name>.args
Arguments passed to this language server.
Type: list of string
Default:
[ ]
Declared by:
devix.lsps.<name>.command
Command used to start this language server. Derived from package,
so pointing package at a different build (an unstable one, say) is
normally all you need. Set this explicitly when the binary is not the
package’s main program.
Type: string
Default:
lib.getExe package, or the registry key when there is no package
Declared by:
devix.lsps.<name>.config
Editor-specific configuration passed to this language server.
Type: attribute set of anything
Default:
{ }
Declared by:
devix.lsps.<name>.consumers
Per-consumer exposure for this language server. Each consumer defaults
to enabled; set e.g. consumers.zed.enable = false to keep this server
out of Zed while leaving it available to Helix/OpenCode.
Type: submodule
Default:
{ }
Declared by:
devix.lsps.<name>.consumers.helix
Exposure toggle for the helix consumer.
Type: submodule
Default:
{ }
Declared by:
devix.lsps.<name>.consumers.helix.enable
Whether this is exposed to / configured for this consumer.
Type: boolean
Default:
true
Declared by:
devix.lsps.<name>.consumers.opencode
Exposure toggle for the opencode consumer.
Type: submodule
Default:
{ }
Declared by:
devix.lsps.<name>.consumers.opencode.enable
Whether this is exposed to / configured for this consumer.
Type: boolean
Default:
true
Declared by:
devix.lsps.<name>.consumers.zed
Exposure toggle for the zed consumer.
Type: submodule
Default:
{ }
Declared by:
devix.lsps.<name>.consumers.zed.enable
Whether this is exposed to / configured for this consumer.
Type: boolean
Default:
true
Declared by:
devix.lsps.<name>.environment
Literal environment variables to set when launching this server. Consumers that support it wrap the command in a shell launcher.
Type: attribute set of string
Default:
{ }
Declared by:
devix.lsps.<name>.environmentScript
Shell snippet prepended to the server launcher (e.g. to read a secret into an env var). Used for AI servers; see lib/opencode.nix.
Type: strings concatenated with “\n”
Default:
""
Declared by:
devix.lsps.<name>.kind
Classification of this server, used by consumers to decide how to attach it (e.g. AI/grammar servers may be handled specially).
Type: one of “language”, “grammar”, “tool”, “ai”
Default:
"language"
Declared by: