408e1737dc7bf793a799fe4c6d5233e42795d5d2
NBDE Channel
This repository provides the Guix-side pieces for network-bound disk encryption:
nbde/packages/crypto.scmPackage definitions forluksmeta,tang, andclevis.nbde/services/tang.scmA standalone Tang service for Guix systems.nbde/system/mapped-devices.scmA Clevis-backed mapped-device kind with manualcryptsetupfallback.nbde/system/initrd.scmA helper aroundraw-initrdfor early-boot Clevis support.examples/phase0-system.scmMinimal reference system using the Clevis-backed mapped-device kind and custom initrd.
It now also carries the first Tribes deployment substrate:
tribes/packages/release.scmA deployment-bridge package wrapper for a prebuilt Tribes release tree.tribes/packages/source.scmA real source-built Tribes package that produces a production release from a vendored Mix dependency tree plus local Parrhesia source.tribes/services/tribes.scmShepherd service, runtime environment wiring, and account/activation setup for a Tribes node.tribes/system/node.scmA higher-level service bundle that wires PostgreSQL plus the Tribes service.tribes/system/installer.scmInstaller-facing OS constructor for NBDE-installed Tribes nodes.nbde/system/installed-base.scmShared base installed-system constructor used by both the minimal NBDE flow and the Tribes-specific installer path.
Current development status:
luksmeta,tang, andclevisbuild successfully onpguix.- A disposable Tang + LUKS smoke test passes.
- A QEMU Phase-0 system with encrypted root now boots unattended through Clevis/Tang and reaches a login prompt.
For pinned bootstrap usage, generate a channels.scm that combines upstream
Guix with this repository's current commit.
The deployment scripts default to the checked-in base-channel lock at
../pins/base-channels.scm, and only fall back to the current host's
guix describe -f channels output when that file is absent. Refresh that
lock intentionally with scripts/update-base-channels-pin.
Description
Languages
Scheme
99.7%
Common Lisp
0.3%