explain Nix is golden setup in devel section

This commit is contained in:
Patrick Fong
2023-11-07 10:34:41 -08:00
parent f3ce83517d
commit 5245c40683

View File

@ -102,7 +102,7 @@ While the set of config keys and values are not yet documented, they are
easily discoverable in the [Config structure](https://github.com/mitchellh/ghostty/blob/main/src/config/Config.zig). easily discoverable in the [Config structure](https://github.com/mitchellh/ghostty/blob/main/src/config/Config.zig).
The available keys are simply the keys verbatim, and their possible values The available keys are simply the keys verbatim, and their possible values
are often documented in the comments. You also can search for the [public config files](https://github.com/search?q=path%3Aghostty%2Fconfig&type=code) are often documented in the comments. You also can search for the [public config files](https://github.com/search?q=path%3Aghostty%2Fconfig&type=code)
of many ghostty users for examples and inspiration. of many Ghostty users for examples and inspiration.
#### Configuration Errors #### Configuration Errors
@ -324,15 +324,13 @@ a work-in-progress. Similar improvements will follow with Linux.
## Developing Ghostty ## Developing Ghostty
Ghostty is built using both the [Zig](https://ziglang.org/) programming The official "golden setup" for developing Ghostty is managed by Nix in [shell.nix](https://github.com/mitchellh/ghostty/blob/main/shell.nix).
language as well as the Zig build system. At a minimum, Zig and Git must be installed. It is the environment in which CI runs tests and builds artifacts. You don't have to use Nix for development, but the
For [Nix](https://nixos.org/) users, a `shell.nix` is available which includes builds produced by your environment mustn't be different from the Nix build; Nix is the source of truth.
all the necessary dependencies pinned to exact versions.
**Note: Zig nightly is required.** Ghostty is built against the nightly **Note: Zig nightly is required.** Ghostty is built against the nightly
releases of Zig. I plan on stabilizing on a release version when I get releases of Zig while it is still in beta. I plan on stabilizing on a release version when I get
closer to generally releasing this to ease downstream packagers. During closer to generally releasing this to ease downstream packagers. You can find binary releases of nightly builds
development, I'm sticking to nightly Zig. You can find binary releases of nightly builds
on the [Zig downloads page](https://ziglang.org/download/). on the [Zig downloads page](https://ziglang.org/download/).
With Zig installed, a binary can be built using `zig build`: With Zig installed, a binary can be built using `zig build`: