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;