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 toStage::Failed. No i18n here; consumers mapStage/Failureto display strings themselves.
Structs§
- Archive
Ops binaryis only consulted underPrivilege::AlreadyRoot; thepkexecpath always targets the trusted-path guix (seecmd::POLKIT_GUIX_PATH).- Build
Builder - Build
Ops - Build
Options - Build-server and scheduler flags forwarded verbatim to
guix. Spliced after the subcommand so polkit’sargv1/argv2binding holds (see NOTES.md).None/falsefields emit nothing —guixkeeps its default. - Byte
Size - Cancel
Handle cancel()cannot stop pkexec-launched children — they run as root and signals from a non-root callerEPERM. See NOTES.md.- Channel
- Channels
File - In-memory view of
channels.scmplus the data we need to decide whether the file is safe to overwrite. - Describe
Ops - Discovered
- GcOps
- GcOptions
- Generation
- Guix
- Construct via
Guix::discover. - Init
Options - Installed
Ops - Installed-package introspection via the REPL actor.
- Installed
Package - Operation
- Hold this to read events; drop to cancel (SIGTERM → 5s → SIGKILL).
- Package
Detail - Package
Ops - Package
Summary - Empty strings rather than
Option— these are display fields. - PullOps
- Reconfigure
Options - Repl
- Retry
Policy Defaultisnone()(empty backoffs = no retries).- Search
Fast Result - Shell
Builder - Shell
Ops - System
Ops binaryis only consulted underPrivilege::AlreadyRoot; thepkexecpath always targets the trusted-path guix (seecmd::POLKIT_GUIX_PATH).- System
Pull Options
Enums§
- Channel
Op - The narrow op vocabulary the Scheme dispatcher pattern-matches on.
See
channel_ops.scmand TODO.md “Wire protocol”. - Channels
Error - The error surface for channels ops — distinct from
GuixErrorso the GUI can render structured parse errors with line/column. - Channels
List - 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. - Guix
Error - Known
Bug - Polkit
Failure - Privilege
- How a privileged
guixop acquires root. - Progress
Event - Progress
Stream
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-cellValue::Conschain 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*, orconsand 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.factoryis called once per attempt, so it must spawn a freshOperation.