Skip to main content

caixa_flake/
lib.rs

1//! `caixa-flake` — `flake.lisp`, the tatara-lisp expression of a Nix flake.
2//!
3//! Two modes:
4//!   1. **Transpile (default now):** `flake.lisp` → `flake.nix` at build
5//!      time. Full Nix-ecosystem interop.
6//!   2. **Direct eval (future):** `sui` evaluates `flake.lisp` natively
7//!      once sui's nixpkgs coverage catches up.
8//!
9//! Authoring surface:
10//!
11//! ```lisp
12//! (defflake
13//!   :descricao "pangea-tatara-aws"
14//!   :entradas ((:nome "nixpkgs" :url "github:nixos/nixpkgs?ref=nixos-unstable")
15//!              (:nome "substrate" :url "github:pleme-io/substrate"))
16//!   :saidas (:pacotes ((:nome "default" :src ".")
17//!                      (:nome "teste" :src "./spec"))))
18//! ```
19
20extern crate self as caixa_flake;
21
22pub mod flake;
23pub mod render;
24
25pub use flake::{FlakeInput, FlakeLisp, FlakeOutput, FlakePackage};
26pub use render::render_flake_nix;