- Zig 98.5%
- Nix 1.5%
| pkgs/sigil-cli | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| treefmt.nix | ||
sigil-cli
The sigil command line program.
Sigil deploys a static site from a Nix flake. It publishes the site as a Nostr nsite. The files are content addressed blobs on Blossom servers, and the manifest is a signed Nostr event.
sigil deploy [<flake-ref>] [--name <d-tag>] [--bunker <uri>] [--config <path>]
sigil version
sigil help [<command>]
Sigil never holds your key. The key stays in your signer application, and Sigil
reaches that application through a bunker:// connection token. Run
sigil help deploy to read the resolution order of the token.
There is no sigil serve and no sigil migrate
The Sigil service is a separate program called sigild. It lives in a separate
repository and it is proprietary. This program deploys a site and it does not
run the service.
sigild serve [--config <path>]
sigild migrate [--config <path>]
An operator does not start sigild by hand. The NixOS module services.sigil
starts it. sigil serve prints this message and it exits with status 2.
Static linking
The program links no C library. zig build alone builds it, for any target,
with no pkg-config and no system headers. file zig-out/bin/sigil must say
statically linked.
sigil deploy . evaluates the flake with the nix program, which it starts as
a child process. A person who deploys a Nix flake already has Nix on the
machine. Starting a program is not a linked dependency.
Modules
This package exposes no module of its own. Both modules come from the
sigil-api package.
sigil, the protocol contract.sigil-nix, thenixcommand line path. The Sigil service uses the same module, so the shared package holds it.
build.zig.zon points at sigil-api with a path dependency today, because
sigil-api has no published tag yet. Clone both repositories beside each other.
Read the comment in build.zig.zon.
License
Apache License 2.0. Read LICENSE.