the rendered meta flake pins hyperhive by forge URL and follows its nixpkgs
This commit is contained in:
parent
6ea13c02e3
commit
bb13909d8e
8 changed files with 135 additions and 153 deletions
|
|
@ -36,22 +36,18 @@ pub struct Coordinator {
|
|||
/// `get_full` for the per-card chip + side-panel viewer. See
|
||||
/// `build_logs.rs` for retention.
|
||||
pub build_logs: Arc<crate::build_logs::BuildLogs>,
|
||||
/// URL of the hyperhive flake (no fragment). Inlined into per-agent
|
||||
/// `flake.nix` files as `inputs.hyperhive.url`.
|
||||
/// Store path of the hyperhive flake source (no fragment). Used to
|
||||
/// identify the running revision (`current_flake_rev`); the meta flake
|
||||
/// pins `hyperhive` by forge URL and [`Self::hyperhive_rev`] instead.
|
||||
pub hyperhive_flake: String,
|
||||
/// URL of the narrow `docs/` source (no fragment). Inlined into the
|
||||
/// meta `flake.nix` as `inputs.hyperhive-docs.url` and threaded to
|
||||
/// each agent as `services.hyperhive.agent.docs.source`. Its own store path
|
||||
/// so doc edits don't re-hash `hyperhive_flake`.
|
||||
pub hyperhive_docs_flake: String,
|
||||
/// Store-path URL of the nixpkgs to wire into the meta flake as
|
||||
/// `inputs.nixpkgs.url`. Populated by `--nixpkgs-flake` (set by the
|
||||
/// NixOS module to `"path:${pkgs.path}"` so the meta flake always
|
||||
/// tracks the same nixpkgs the host evaluated with — which is the
|
||||
/// host's nixpkgs when `inputs.hyperhive.inputs.nixpkgs.follows =
|
||||
/// "nixpkgs"` is set in the host flake). Empty string = legacy
|
||||
/// `follows = "hyperhive/nixpkgs"` behaviour.
|
||||
pub nixpkgs_flake: String,
|
||||
/// Git rev of the hyperhive checkout this host runs. Pins the meta
|
||||
/// flake's `hyperhive` input; `None` makes the meta render fail.
|
||||
pub hyperhive_rev: Option<String>,
|
||||
/// Store path of the `claude-code` build every agent runs, written
|
||||
/// into each per-agent flake as `services.hyperhive.agent.claudeCodePath`. Set by
|
||||
/// the NixOS module option
|
||||
|
|
@ -203,7 +199,8 @@ pub struct HiveEnv {
|
|||
/// `services.hyperhive.agent.docs.source`. Separate from `hyperhive_flake`
|
||||
/// so a doc edit only re-locks this input, not the whole source.
|
||||
pub hyperhive_docs_flake: String,
|
||||
pub nixpkgs_flake: String,
|
||||
/// Git rev of the hyperhive checkout this host runs; see [`Coordinator::hyperhive_rev`].
|
||||
pub hyperhive_rev: Option<String>,
|
||||
/// Store path of the `claude-code` agents run, or `None` for "each
|
||||
/// agent keeps the one out of its own nixpkgs". Travels into the
|
||||
/// container as `services.hyperhive.agent.claudeCodePath` — a plain string, kept
|
||||
|
|
@ -228,7 +225,7 @@ impl Default for HiveEnv {
|
|||
Self {
|
||||
hyperhive_flake: "/etc/hyperhive".to_string(),
|
||||
hyperhive_docs_flake: String::new(),
|
||||
nixpkgs_flake: String::new(),
|
||||
hyperhive_rev: None,
|
||||
claude_code_path: None,
|
||||
dashboard_port: 7000,
|
||||
agent_cpu_quota: "200%".to_string(),
|
||||
|
|
@ -405,7 +402,7 @@ impl Coordinator {
|
|||
let HiveEnv {
|
||||
hyperhive_flake,
|
||||
hyperhive_docs_flake,
|
||||
nixpkgs_flake,
|
||||
hyperhive_rev,
|
||||
claude_code_path,
|
||||
dashboard_port,
|
||||
agent_cpu_quota,
|
||||
|
|
@ -444,7 +441,7 @@ impl Coordinator {
|
|||
build_logs,
|
||||
hyperhive_flake,
|
||||
hyperhive_docs_flake,
|
||||
nixpkgs_flake,
|
||||
hyperhive_rev,
|
||||
claude_code_path,
|
||||
dashboard_port,
|
||||
agent_cpu_quota,
|
||||
|
|
@ -475,7 +472,7 @@ impl Coordinator {
|
|||
HiveEnv {
|
||||
hyperhive_flake: self.hyperhive_flake.clone(),
|
||||
hyperhive_docs_flake: self.hyperhive_docs_flake.clone(),
|
||||
nixpkgs_flake: self.nixpkgs_flake.clone(),
|
||||
hyperhive_rev: self.hyperhive_rev.clone(),
|
||||
claude_code_path: self.claude_code_path.clone(),
|
||||
dashboard_port: self.dashboard_port,
|
||||
agent_cpu_quota: self.agent_cpu_quota.clone(),
|
||||
|
|
|
|||
Loading…
Reference in a new issue