bootstrap head

This commit is contained in:
2026-03-29 17:10:53 +08:00
commit a6d0c3a4b0
7 changed files with 386 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.stdenv.mkDerivation rec {
pname = "claude-code";
# 根据您之前的截图,我们锁定该版本以保证可复现性
version = "2.1.87";
# 直接从 GCS Bucket 抓取二进制文件,绕过 bash 脚本
src = pkgs.fetchurl {
url = "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/${version}/linux-x64/claude";
# 提示:首次构建时,您可以将 hash 填为 lib.fakeHash
# Nix 会报错并告诉您正确的 SHA-256 哈希值,然后将其填入此处即可
hash = "sha256-saW4lGmGKt7g5NwoyrWoMUvE0BF+Gasmp7f/fOm1m9U=";
};
# 引入 autoPatchelfHook 自动修复 ELF 文件的动态链接
nativeBuildInputs = [ pkgs.autoPatchelfHook ];
# 添加运行该二进制所需的常见 C 标准库
# 如果运行后提示缺失某些 .so 文件,可在此处追加对应的依赖包
buildInputs = with pkgs; [
stdenv.cc.cc.lib
zlib
];
# 因为下载的是单一二进制文件,不需要解压源码
dontUnpack = true;
# 安装阶段:将其放入 Nix 标准的 bin 目录下
installPhase = ''
mkdir -p $out/bin
cp $src $out/bin/claude
chmod +x $out/bin/claude
'';
meta = with pkgs.lib; {
description = "Claude Code CLI";
homepage = "https://claude.ai";
platforms = platforms.linux;
};
}