= Go

Currently, the primary binary produced by the `zilch` repository is a tool to
generate content-addressed derivations from a Go project, called `zilch-cli-go`.

It requires the `ca-derivations` and `impure-derivations` experimental features
to be enabled on the Nix daemon, and a Nix daemon to be available at the
default store path. It also requires the daemon to be able to run
`x86_64-linux` derivations, right now.

Once run, it will use Zilch to build a series of derivations, and output a
`.drv` for each executable package in the module.

The help page:

[source]
----
Usage: zilch-cli-go [OPTION] [PACKAGE...]
Process the given module (or the current directory, if unspecified) and
output derivations for each package given on the command line (or all
executables in the module, if unspecified)

  -h, --help              Print this help message.
  -b, --build             Build the store paths, rather than show their
                          derivations.
  -L, --print-build-logs  Print derivation logs as they come in.
  -m, --module-dir DIR    The directory to use as root module.
  -r, --replace DIR       Replace the module specified by the go.mod
                          with this source directory, rather than using
                          the upstream module. Can be specified more
                          than once.

   --debug                Crash on the first error, rather than
                          continuing with the next package.
----
