Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions modules/agents/claude-code-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"version": "2.1.280",
"manifestSignatureEnforcement": "flag",
"commit": "80abbfe7d7232280011ff01a21ae3338f4c6e372",
"modsCommit": "8187baaaafb3a9ada02d3d6fb4e8d68587aef6b0",
"buildDate": "2026-09-21T20:56:45Z",
"platforms": {
"darwin-arm64": {
"binary": "claude.zst",
"checksum": "214fafd9d60bc0397cb68747b765ab752be4b53303c176ad885c4cafbe30826f",
"size": 72900982,
"bundle": {
"checksum": "5882f558c44d569dd35047588143a536711d4e415bebf94da1543a25e5bc5898",
"size": 72903461
}
},
"darwin-x64": {
"binary": "claude.zst",
"checksum": "2b5ca074d02ea5dd507db0a90ba55847e297061ca3e987ddc49ea89ae0ff2e7e",
"size": 77008555,
"bundle": {
"checksum": "bf78bfd5af2400f39d21378198f689c3856d7a11aeb9919b012f27143e946cbf",
"size": 77013965
}
},
"linux-arm64": {
"binary": "claude.zst",
"checksum": "6a01f30418f35122a672ccf74bed64aba5119ad47c71548a3b447cc9fec48c81",
"size": 82030081
},
"linux-x64": {
"binary": "claude.zst",
"checksum": "27910e2ae704d8f2e8024897d8fdf1e7710807baf4f6982c0e3797c058315384",
"size": 82761570
},
"linux-arm64-musl": {
"binary": "claude.zst",
"checksum": "32dbe8a94da9689791688e0febfb88c39897ad67f055853e7ae1b6d11c4b4e39",
"size": 80444179
},
"linux-x64-musl": {
"binary": "claude.zst",
"checksum": "2b2e206987e357997bf5c06baf697379b5980a7cc6f1462ca70a6757ece58890",
"size": 81193598
},
"win32-x64": {
"binary": "claude.exe.zst",
"checksum": "cb50dbe5b595b52925d753b10d5907748a4137e7f0bff84d03ea60cd9a28eaf9",
"size": 85069447
},
"win32-arm64": {
"binary": "claude.exe.zst",
"checksum": "705dccf9d924d471e32efa19157283da2cdd0b8cfc71d7e0a9e3ec4d13ac381b",
"size": 81530251
}
},
"sdkCompat": {
"testedWrapperVersions": [
"0.3.240",
"0.3.241",
"0.3.242",
"0.3.243",
"0.3.245",
"0.3.246",
"0.3.247",
"0.3.248",
"0.3.250",
"0.3.251",
"0.3.252",
"0.3.257",
"0.3.258",
"0.3.259",
"0.3.260",
"0.3.261",
"0.3.263",
"0.3.266",
"0.3.267",
"0.3.268",
"0.3.269",
"0.3.270",
"0.3.271",
"0.3.272",
"0.3.273",
"0.3.274",
"0.3.275",
"0.3.276",
"0.3.277",
"0.3.278"
],
"harnessSchema": 1
}
}
17 changes: 15 additions & 2 deletions modules/agents/claude.nix
Original file line number Diff line number Diff line change
@@ -1,9 +1,22 @@
{ pkgs, ... }:
{ pkgs, lib, ... }:
let
# nixos-unstable routinely trails upstream Claude Code by a few releases, and
# new models are gated on a minimum CLI version (e.g. Opus 5.5 needs 2.1.280).
# Feed nixpkgs' own derivation a newer release manifest when the locked
# nixpkgs is behind; once it catches up, the stock package wins again and
# this pin becomes a no-op.
pinnedManifest = lib.importJSON ./claude-code-manifest.json;
claude-code =
if lib.versionOlder pkgs.claude-code.version pinnedManifest.version then
pkgs.claude-code.override { manifest = pinnedManifest; }
else
pkgs.claude-code;
in
{
claude-vm.agent = {
name = "claude";
launchCommand = "claude";
extraPackages = [ pkgs.claude-code ];
extraPackages = [ claude-code ];
shellInit = ''
# Seed microVM disk-space awareness into Claude's user-level memory. This
# runs inside base.nix's seed lock (it inlines shellInit there), so it
Expand Down