Skip to main content

Crate libguix

Crate libguix 

Source
Expand description

Unofficial Rust client library for GNU Guix.

Modules§

progress
Monotonic stage state machine over ProgressEvents — stages only advance unless a failure flips us to Stage::Failed. No i18n here; consumers map Stage / Failure to display strings themselves.

Structs§

ArchiveOps
binary is only consulted under Privilege::AlreadyRoot; the pkexec path always targets the trusted-path guix (see cmd::POLKIT_GUIX_PATH).
BuildBuilder
BuildOps
BuildOptions
Build-server and scheduler flags forwarded verbatim to guix. Spliced after the subcommand so polkit’s argv1/argv2 binding holds (see NOTES.md). None/false fields emit nothing — guix keeps its default.
ByteSize
CancelHandle
cancel() cannot stop pkexec-launched children — they run as root and signals from a non-root caller EPERM. See NOTES.md.
Channel
ChannelsFile
In-memory view of channels.scm plus the data we need to decide whether the file is safe to overwrite.
DescribeOps
Discovered
GcOps
GcOptions
Generation
Guix
Construct via Guix::discover.
InitOptions
InstalledOps
Installed-package introspection via the REPL actor.
InstalledPackage
Operation
Hold this to read events; drop to cancel (SIGTERM → 5s → SIGKILL).
PackageDetail
PackageOps
PackageSummary
Empty strings rather than Option — these are display fields.
PullOps
ReconfigureOptions
Repl
RetryPolicy
Default is none() (empty backoffs = no retries).
SearchFastResult
ShellBuilder
ShellOps
SystemOps
binary is only consulted under Privilege::AlreadyRoot; the pkexec path always targets the trusted-path guix (see cmd::POLKIT_GUIX_PATH).
SystemPullOptions

Enums§

ChannelOp
The narrow op vocabulary the Scheme dispatcher pattern-matches on. See channel_ops.scm and TODO.md “Wire protocol”.
ChannelsError
The error surface for channels ops — distinct from GuixError so the GUI can render structured parse errors with line/column.
ChannelsList
Top-level channels-form shape — preserved across read → mutate → write so the user’s stylistic choice (enumerate everything vs layer on top of %default-channels) survives a round-trip.
GuixError
KnownBug
PolkitFailure
Privilege
How a privileged guix op acquires root.
ProgressEvent
ProgressStream

Constants§

CURRENT_SYSTEM_CONFIG
Display-only — reconfiguring requires the source .scm, not this snapshot.
DEFAULT_REPL_TIMEOUT
DEFAULT_SEARCH_LIMIT
Capped server-side via call/cc — dropping a 5k-cell Value::Cons chain overflows the tokio worker stack. See NOTES.md.
MIN_GUIX_VERSION_DATE
UNKNOWN_BUCKET
Bucket label assigned to entries whose channel attribution failed. Public so callers can filter it out of user-facing surfaces.

Functions§

parse_channels_list
Locates the first top-level form whose head is list, cons*, or cons and parses it. Preamble forms like (use-modules …) are skipped. Tolerates wrapper forms ((channel-with-substitutes-available (channel …) …)) by walking one level in to find the inner channel.
run_with_retry
Await each attempt to completion, retrying transient failures per policy. factory is called once per attempt, so it must spawn a fresh Operation.

Type Aliases§

EventStream