feat(pibox): take pi from llm-agents.nix, bump flake locks on a schedule - #8
Merged
Conversation
README: - treefmt's markdown formatter moves reference definitions below the prose; the tree was left red.
nix/agents/pi.nix: - Drop the local buildNpmPackage: numtide's llm-agents.nix already packages pi, at 0.82.1 vs 0.71.0. - Also drops the tsgo --noCheck patch, the dist save/restore dance around npmInstallHook, and the native buildInputs for canvas — all upstream's problem now. - Same shape as hermes.nix: an input's package with a throw for systems it doesn't cover. npm lock: - No importNpmLock needed. The reported failure was npmDepsHash going stale whenever upstream regenerated its lockfile; deleting the derivation deletes the hash, so there is nothing to pin. - importNpmLock would have fixed the symptom while keeping a monorepo build we don't want to own. pi upstream: - pi moved from badlogic/pi-mono to earendil-works/pi; homepage and README updated accordingly. - llm-agents builds from the published npm tarball, so pibox now tracks releases, not main. llm-agents deliberately gets no nixpkgs.follows: it pins nixpkgs to match its own binary cache, and overriding that trades cache hits for rebuilds of every agent in the set.
update-flake-locks.yml: - Weekly on Mondays plus workflow_dispatch; updates the root lock and the agents partition's lock. - Runs nix flake check before opening the PR, so a bump that breaks the tree fails in the job. - Optional FLAKE_UPDATE_TOKEN secret; without it GITHUB_TOKEN opens the PR but CI won't run on it. - PR body carries nix flake update's own input diff for both locks. Pinned inputs only move when a consumer overrides them with .follows, which quietly pairs stale pins with an unrelated nixpkgs. Bumping on a schedule keeps the defaults near what consumers build.
Member
Author
|
@aisamu: I saw your fork's feature branches. Unfortunately you submitted a pull request against your own branch, so I was not able to merge it. In the meantime, I've addressed both of your improvements here. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
importNpmLock assessment
Not needed. Switching to
llm-agents.nixdeletes the wholebuildNpmPackage, and with it thenpmDepsHashthat was going stale —importNpmLockwould have fixed the symptom while keeping api-mono monorepo build we don't want to maintain. Also gone: the
tsgo --noCheckpatch, thedistsave/restore aroundnpmInstallHook, and the canvas nativebuildInputs.Side effects worth knowing:
llm-agentscovers the same systems ashermes-agent(nox86_64-darwin), sopi.nixgets thesame
or (throw ...)guardhermes.nixalready uses.nixpkgs.followsonllm-agents: it pins nixpkgs to match its own binary cache.Weekly lock bump
.github/workflows/update-flake-locks.yml— Mondays plusworkflow_dispatch, updates both locks(root and the agents partition), runs
nix flake check, opens a PR carryingnix flake update'sinput diff. Set an optional
FLAKE_UPDATE_TOKENsecret to get CI running on the bump PR;GITHUB_TOKENopens it but won't trigger workflows.Also
mainwas failingnix flake checkbefore this branch — treefmt wants markdown link referencesbelow the prose. Fixed in its own commit.
Verified
nix flake check,nix run .#pibox -- --help, andnix run .#pibox -- -- --version(0.82.1answering from inside the sandbox) on x86_64-linux.