CLI for Sigil, Nix based static site hosting
  • Zig 98.5%
  • Nix 1.5%
Find a file
2026-09-01 12:27:02 -07:00
pkgs/sigil-cli chore: take the sigil-api that fixes the read deadline 2026-09-01 12:27:02 -07:00
src feat: add the sigil command line program 2026-08-31 23:25:58 -07:00
.envrc feat: add the sigil command line program 2026-08-31 23:25:58 -07:00
.gitignore feat: add the sigil command line program 2026-08-31 23:25:58 -07:00
build.zig fix: build the program in the test step 2026-09-01 09:42:35 -07:00
build.zig.zon chore: take the sigil-api that fixes the read deadline 2026-09-01 12:27:02 -07:00
flake.lock feat: add the sigil command line program 2026-08-31 23:25:58 -07:00
flake.nix chore: fetch sigil-api from the remote 2026-09-01 00:18:26 -07:00
LICENSE Initial commit 2026-08-31 23:13:38 +00:00
README.md feat: add the sigil command line program 2026-08-31 23:25:58 -07:00
treefmt.nix feat: add the sigil command line program 2026-08-31 23:25:58 -07:00

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, the nix command 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.