zig
Getting Started
Section titled “Getting Started”The simplest way to get started with Zig is to use the version attribute, which automatically sets up both the Zig compiler and ZLS (Zig Language Server) from the zig-overlay:
languages.zig = { enable = true; version = "0.15.1";};This will automatically:
- Use the specified Zig version from zig-overlay
- Install the corresponding ZLS version (e.g., version “0.15.1” uses ZLS 0.15.0)
Alternatively, you can manually specify packages:
languages.zig = { enable = true; package = pkgs.zig; zls.package = pkgs.zls;};Options
Section titled “Options”languages.zig.enable
Section titled “languages.zig.enable”Whether to enable tools for Zig development.
Type: boolean
Default:
falseExample:
trueDeclared by:
languages.zig.package
Section titled “languages.zig.package”Which package of Zig to use.
Type: package
Default:
pkgs.zigDeclared by:
languages.zig.lsp.enable
Section titled “languages.zig.lsp.enable”Whether to enable Zig Language Server.
Type: boolean
Default:
trueExample:
trueDeclared by:
languages.zig.lsp.package
Section titled “languages.zig.lsp.package”The Zig language server package to use.
Type: package
Default:
pkgs.zlsDeclared by:
languages.zig.version
Section titled “languages.zig.version”The Zig version to use.
This automatically sets the languages.zig.package and languages.zig.lsp.package using zig-overlay.
Type: null or string
Default:
nullExample:
"0.15.1"Declared by:

