Variance report: declared lfc.toml manifest vs actual system state.
Linux From Crates is a displacement manifest — a bill of materials tracking which GNU/system packages have been replaced by cargo-installed crates. lfc-status is the validation tool that checks whether the declared displacement matches reality.
Two directions of truth:
- INDEX: does the manifest match the system? (displaced/scaffold sections)
- MATCH: does the system match the manifest? (drift detection)
If ripgrep replaces grep in the manifest but grep is still installed via pacman, that's a real variance. If cargo install --list shows something not in the manifest, that's untracked drift.
# Full report
cargo run -- --manifest lfc.toml
# Variance only (missing/untracked)
cargo run -- --manifest lfc.toml --variance
# Emit bootstrap script
cargo run -- --manifest lfc.toml --bootstrapEach declared displacement: ✓ if the crate is installed via cargo install --list, ✗ if missing.
Each declared system dependency: · if present via pacman -Q, ✗ if missing.
Displaced replacements that are still installed via pacman. This is the gap between "declared displacement" and "actual displacement" — if you declared ripgrep replaces grep but grep is still in pacman, that's a warning.
Cargo-installed crates that exist on the system but are not declared in the manifest. Untracked crates are the shadow BOM problem.
[meta]
host = "hostname"
init = "dinit"
kernel = "linux-zen"
arch = "x86_64"
[displaced]
# crate = the cargo install name
# replaces = what it displaces from pacman / GNU land
grep = { crate = "ripgrep", replaces = "grep" }
[scaffold]
# label = package name tracked via pacman
kernel = "linux-zen"
init = "dinit"
[bootstrap]
pre = ["base-devel", "git", "rustup"]
rust = ["rustup default stable"]
crates = [
"ripgrep",
"uutils-coreutils --features all",
]
post = [
"paru -S zed",
]--bootstrap emits a #!/usr/bin/env bash script with four sections:
pre—pacman -S --noconfirmcommandsrust— rustup/setup commandscargo install— one per declared cratepost— paru/aur commands
cargo build -p lfc-status
cargo test --workspace