Skip to main content

Crate shun

Crate shun 

Source
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 online feature.
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.