tatara-pkgs 0.2.162

Package set abstraction + nixpkgs bridge + tend-driven tatara-lisp mirror — the tatara equivalent of nixpkgs
docs.rs failed to build tatara-pkgs-0.2.162
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

tatara-pkgs — nixpkgs, fully expressed in tatara-lisp

Two things live together:

  1. PackageSet trait — backend-agnostic view of a package universe. Every backend (nixpkgs bridge, tatara-lisp-authored set, overlay of either) answers get(name) -> Option<Derivation> + names() -> Vec<String>.

  2. Synthesizer — a MultiSynthesizer that walks a PackageSet and emits one tatara-lisp .tl file per package. tend drives this: on a nixpkgs commit bump, the generator regenerates the mirror tree; each package becomes a typed (defderivation …) that realizes to the same /nix/store/... path nixpkgs would produce.

nixpkgs ──tend sync──►  PackageSet (NixpkgsBridge)
                             │
                             ▼ MultiSynthesizer::generate_all
                        Vec<Artifact>  (`hello.tl`, `bash.tl`, …)
                             │
                             ▼ disk
                        pleme-io/nixpkgs-tl/
                             │
                             ▼ tatara-eval + tatara-nix::Realizer
                        /nix/store/<hash>-<name>  (same path nixpkgs builds)

The gradient: today a tatara-lisp file is a bridge wrapper; tomorrow the hot-path packages (stdenv, coreutils, bash, kernel) transliterate to pure tatara-lisp and stop bridging. The typed surface doesn't change.