Expand description
rk self-depend: release-kit as a consumer project’s development
dependency, kept fresh.
A consumer obtains rk through whatever tool manager it already
runs, and manager owns that axis: the closed list, the detection,
and the per-manager pin reader. The flake manager carries two facts:
the tag in flake.nix is the version, and the release-kit node in
flake.lock is the content. This module owns the offline observation
across every manager and the per-checkout state key; pin owns the
flake line grammar, fragments the authored texts add serves,
leftovers the predecessor catalog clean removes, discover the
one network call, txn the fenced two-file transaction, and guard
the gates around it.
Modules§
- discover
- The one network call the devshell verb makes: which release is the latest.
- fragments
- The texts
rk self-depend addserves: three flake fragments, the.envrcline, and the seed pair for a target that has neither file. - guard
- The gates around the devshell transaction, so the
.envrcline is safe on every directory entry. - leftovers
- What a predecessor bump mechanism left in a target.
- manager
- The manager axis: which tool manager a target obtains
rkthrough. - pin
- The pin matcher: the one line in a consumer’s
flake.nixthat names the release-kit tag. - txn
- The fenced two-file transaction behind
rk self-depend sync.
Structs§
- Observed
- Everything the offline pass reads from a target and this host’s state root. It spawns nothing and fetches nothing.
Enums§
- Presence
- Whether a file exists at its expected path.
Functions§
- backup_
dir - The directory a transaction backs the two files up into.
- has_
sync_ line - Whether an
.envrctext carries the sync line: a line whose trimmed start is the verb, whatever flags follow. - lock_
path - The single-writer lock for one checkout.
- marker_
path - The marker an open transaction leaves until it commits or restores.
- normalize_
tag - Fold the three tag shapes —
v0.2.16,0.2.16, and the release URL — to one tag with exactly one leadingv. - observe
- Read a target’s pin wiring across every manager, offline.
- read_
stamp - The day the last sync attempt was stamped, where one was.
- stamp_
path - The daily stamp for one checkout.
- state_
dir - The directory every devshell state file lives under:
<state root>/devshell. - state_
key - The per-checkout key every state file is named by:
<basename>-<digest16>over the canonical path, so two clones never share a lock, a stamp, or a backup.