Back to feed

sledtools/pika branch #103

pika-orch-incus-cleanup-23

Include pikaci nix fragments in Rust source

Target branch: master

Merge Commit: 070faac426b137fcc72f8ed0468b78d1d59753ab

branch: merged tutorial: ready ci: success
Open CI Details

Continuous Integration

CI: success

Compact status on the review page, with full logs on the CI page.

Open CI Details

Latest run #129 success

9 passed

head 85ba9a38c4b7f5ad82408cea88d23489436a8947 · queued 2026-03-26 01:58:01 · 9 lane(s)

queued 13s · ran 7m 01s

check-pika-rust · success check-pika-followup · success check-notifications · success check-agent-contracts · success check-rmp · success check-pikachat · success check-apple-host-sanity · success check-pikachat-openclaw-e2e · success check-fixture · success

Summary

This branch adds the ./nix/pikaci directory to the Nix flake's Rust source inputs so that pikaci nix fragments are included in the Rust build's source-filtering logic. Without this change, files under nix/pikaci were invisible to the Nix build, meaning any Rust code that referenced or embedded those fragments at build time would fail or produce stale results. The fix is a single-line addition duplicated across the two source-filter lists in flake.nix.

Tutorial Steps

Add `./nix/pikaci` to the first Rust source filter list

Intent: Ensure the first source-filtering block in `flake.nix` (used by one of the Nix build expressions) includes the `nix/pikaci` directory so its contents are available during the Rust build.

Affected files: flake.nix

Evidence
@@ -83,6 +83,7 @@
           ./config
           ./crates
           ./fixtures
+          ./nix/pikaci
           ./pikachat-openclaw/openclaw/extensions/pikachat-openclaw

Nix flakes use explicit source-filter lists to decide which paths are copied into the build sandbox. The first list (around line 83) enumerates every directory the Rust workspace needs.

By adding ./nix/pikaci between ./fixtures and ./pikachat-openclaw/…, the pikaci nix fragments are now part of the filtered source tree. This keeps the list in alphabetical order, consistent with the surrounding entries.

  ./config
  ./crates
  ./fixtures
+ ./nix/pikaci
  ./pikachat-openclaw/openclaw/extensions/pikachat-openclaw

Add `./nix/pikaci` to the second Rust source filter list

Intent: Mirror the same inclusion in the second source-filter block (around line 100) so that both derivations that consume Rust sources have access to the pikaci nix fragments.

Affected files: flake.nix

Evidence
@@ -99,6 +100,7 @@
           ./config
           ./crates
           ./fixtures
+          ./nix/pikaci
           ./pikachat-openclaw/openclaw/extensions/pikachat-openclaw

flake.nix contains two parallel source-filter lists — one per build variant or derivation that compiles the Rust workspace. Both must stay in sync; omitting the path from either list would cause that particular build to lack the pikaci fragments.

The identical one-line addition is applied here:

  ./config
  ./crates
  ./fixtures
+ ./nix/pikaci
  ./pikachat-openclaw/openclaw/extensions/pikachat-openclaw

After this change, running nix build (or any CI job that evaluates the flake) will copy nix/pikaci/** into the sandbox for both derivations, allowing Rust include_bytes!, include_str!, or build-script logic to reference those files successfully.

Diff