pub struct EvaluatedGeneration {
pub source: Hash,
pub options: BTreeMap<String, Value>,
pub units: UnitDefs,
pub user_units: Vec<UnitDef>,
pub activation: ActivationPlan,
pub locked: BTreeSet<String>,
pub core_units: BTreeMap<String, Hash>,
pub packages: BTreeMap<String, String>,
pub insecure: BTreeSet<String>,
pub declarations: BTreeMap<String, Vec<String>>,
pub inputs: BTreeMap<String, (String, String)>,
pub services: BTreeMap<String, Sensitivities>,
}Expand description
What evaluating a staged source yields (§9 step 2).
Fields§
§source: Hash§options: BTreeMap<String, Value>§units: UnitDefs§user_units: Vec<UnitDef>Units instantiated once per logged-in user (Scope::User { uid: 0 } as
a placeholder); state expands them per session (§10).
activation: ActivationPlanFilled in by build (dry-activate); empty after evaluation alone.
locked: BTreeSet<String>Option paths whose highest-priority definition beats Planarian’s
mkOverride 90 (the owner used mkForce): locked (§9).
core_units: BTreeMap<String, Hash>Content hashes of the evaluated unit files for planariad and
planarian-recovery; a difference from the running ones is touches_core.
packages: BTreeMap<String, String>The system’s packages, pname → version (§12e).
insecure: BTreeSet<String>Those whose nixpkgs meta.knownVulnerabilities is not empty (§12e).
declarations: BTreeMap<String, Vec<String>>Every system service the generation declares, watched or not, with the files that define it (NixOS’s definition locations): the provenance a malicious declaration leaves (§15).
inputs: BTreeMap<String, (String, String)>The flake inputs the generation was built from, name → (revision,
store path), when the owner’s flake passes them
(services.planarian.flakeInputs): a declaration from an input is
reported with the input’s lock change (§15).
services: BTreeMap<String, Sensitivities>The shipped tables’ sensitivity for every system service NixOS defines that the manifest does not declare (§11 sensitivity completeness): a unit in neither has no entry, and fails closed.
Implementations§
Source§impl EvaluatedGeneration
impl EvaluatedGeneration
Sourcepub fn security_fixes(&self, base: &EvaluatedGeneration) -> Vec<String>
pub fn security_fixes(&self, base: &EvaluatedGeneration) -> Vec<String>
§12e: packages this generation fixes relative to base: insecure in
base, still present here, and no longer insecure.
Trait Implementations§
Source§impl Clone for EvaluatedGeneration
impl Clone for EvaluatedGeneration
Source§fn clone(&self) -> EvaluatedGeneration
fn clone(&self) -> EvaluatedGeneration
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more