Expand description
shun — a flow-driven payload delivery runtime.
shun packages the delivery half of shipping desktop software: an
embeddable payload, a declarative flow (choose a mode, choose a target,
stream progress), and pluggable targets — an targets::install target
that performs direct per-platform registration (Windows: ARP entry,
shortcuts, Explorer verbs; Linux: .desktop launchers; macOS: .app
bundles) plus a portable mode that writes no system state at all, and a
targets::flash target that writes images to block devices with
post-write verification.
The runtime shell (shell/, a Tauri front-end built on the celestia
hikari design system) and the build CLI both consume this crate; one
config document drives the three of them — see
config::ShunConfig.
§Status
0.2.x: the config schema, flow model, payload pipeline, and install
target are exercised by three real consumers — the WoWSP installer
shell, shittim-chest local, and the evernight image flasher (which
lands the flash backend’s block-device write path). APIs track the
three consumers between minor versions.
Re-exports§
pub use error::ShunError;
Modules§
- attachments
- Optional payload attachments — named companion resources (asset packs) declared in the delivery manifest and fetchable at install time.
- config
- Declarative configuration — one document drives both the build CLI (artifact matrix) and the runtime shell (flows).
- error
- Errors surfaced by shun flows and backends.
- flow
- The flow model: a delivery run is a sequence of steps streaming events to the shell UI.
- license_
sysl - Synthetic Source License resolution — fetches the license text and its
official translations from the celestia-island/sysl repository at
build time, so wizards show the agreement in the user’s language
without vendoring the translations. Requires the
onlinefeature. - msix
- MSIX packaging (Windows).
- payload
- Payload packaging: the build CLI packs an app directory into a compressed archive that the runtime shell embeds (single-file installer) or carries alongside itself, then extracts with real progress.
- payload_
online - Online payload source — the web-installer story.
- targets
- Pluggable delivery targets.