chore: update packages and dependencies

- Bumped `claude-code` to version 1.0.35 and updated associated hashes.
- Upgraded `gemini-cli` to version 0.1.7 and refactored its `package.nix`.
- Updated `flake.lock` inputs for `nixpkgs`, `home-manager`, and other dependencies.
This commit is contained in:
Harald Hoyer 2025-06-30 09:49:01 +02:00
parent 620ac9bd68
commit 95259ce47b
5 changed files with 94 additions and 72 deletions

18
flake.lock generated
View file

@ -440,11 +440,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1748226808, "lastModified": 1750792728,
"narHash": "sha256-GaBRgxjWO1bAQa8P2+FDxG4ANBVhjnSjBms096qQdxo=", "narHash": "sha256-Lh3dopA8DdY+ZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "83665c39fa688bd6a1f7c43cf7997a70f6a109f9", "rev": "366f00797b1efb70f2882d3da485e3c10fd3d557",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -727,11 +727,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1748162331, "lastModified": 1750969886,
"narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", "narHash": "sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", "rev": "a676066377a2fe7457369dd37c31fd2263b662f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1075,11 +1075,11 @@
}, },
"unstable": { "unstable": {
"locked": { "locked": {
"lastModified": 1748190013, "lastModified": 1751011381,
"narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", "narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "62b852f6c6742134ade1abdd2a21685fd617a291", "rev": "30e2e2857ba47844aa71991daa6ed1fc678bcbb7",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,17 +1,18 @@
{ {
"name": "claude-code", "name": "claude-code",
"version": "1.0.17",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"dependencies": { "dependencies": {
"@anthropic-ai/claude-code": "^1.0.31" "@anthropic-ai/claude-code": "^1.0.35"
} }
}, },
"node_modules/@anthropic-ai/claude-code": { "node_modules/@anthropic-ai/claude-code": {
"version": "1.0.31", "version": "1.0.35",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.31.tgz", "resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.35.tgz",
"integrity": "sha512-prn3DEIBm5ALgCjp0sCcXwNbfBR5w98bEOXQbWViow/3BwkTgW784V8i0S/kfIWDVorz0o4cqR5D0fB4hbjNIg==", "integrity": "sha512-rQr03moVxUZSR9hZGHXatjukxmgK9VoihiVG/lkUWFb6NDxhG+EZB+jSY2gtTsxJwnE1pQciLvOPVI/UxXo4TA==",
"hasInstallScript": true, "hasInstallScript": true,
"license": "SEE LICENSE IN README.md", "license": "SEE LICENSE IN README.md",
"bin": { "bin": {

View file

@ -1,22 +1,22 @@
{ { lib
lib, , buildNpmPackage
buildNpmPackage, , fetchzip
fetchzip, , nodejs_20
nodejs_20, ,
}: }:
buildNpmPackage rec { buildNpmPackage rec {
pname = "claude-code"; pname = "claude-code";
version = "1.0.31"; version = "1.0.35";
nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin
src = fetchzip { src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz"; url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
hash = "sha256-DrjR1LHnLXk2cW3zXO1jxc3octITMq6t28E2KJHBxZE="; hash = "sha256-Lt79XxHrgy6rPAHBf1QtwjsKnrZmsKFeVFOvHwN4aOY=";
}; };
npmDepsHash = "sha256-I3yjsxYXb9PzWb1pSDI40s17AJP9bnQZld5rH5bwwgE="; npmDepsHash = "sha256-TXz2+Vw9/CtcTbd/ta0i4thjfadxfJ64PxvdT1zUQnI=";
postPatch = '' postPatch = ''
cp ${./package-lock.json} package-lock.json cp ${./package-lock.json} package-lock.json
@ -36,11 +36,14 @@ buildNpmPackage rec {
passthru.updateScript = ./update.sh; passthru.updateScript = ./update.sh;
meta = { meta = {
description = "An agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster"; description = "Agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster";
homepage = "https://github.com/anthropics/claude-code"; homepage = "https://github.com/anthropics/claude-code";
downloadPage = "https://www.npmjs.com/package/@anthropic-ai/claude-code"; downloadPage = "https://www.npmjs.com/package/@anthropic-ai/claude-code";
license = lib.licenses.unfree; license = lib.licenses.unfree;
maintainers = [ lib.maintainers.malo ]; maintainers = with lib.maintainers; [
malo
omarjatoi
];
mainProgram = "claude"; mainProgram = "claude";
}; };
} }

View file

@ -5,7 +5,7 @@
"packages": { "packages": {
"": { "": {
"dependencies": { "dependencies": {
"@google/gemini-cli": "^0.1.4" "@google/gemini-cli": "^0.1.7"
} }
}, },
"node_modules/@alcalzone/ansi-tokenize": { "node_modules/@alcalzone/ansi-tokenize": {
@ -45,15 +45,16 @@
} }
}, },
"node_modules/@google/gemini-cli": { "node_modules/@google/gemini-cli": {
"version": "0.1.4", "version": "0.1.7",
"resolved": "https://registry.npmjs.org/@google/gemini-cli/-/gemini-cli-0.1.4.tgz", "resolved": "https://registry.npmjs.org/@google/gemini-cli/-/gemini-cli-0.1.7.tgz",
"integrity": "sha512-RgHzsejPPHVGSUmtR22ByL3oDNA1Jt2Q4cD79j1ZaZOn7MOmMAgJmTWNCN1kyatMvrkISL3x+h2sjwC1knw+EQ==", "integrity": "sha512-iMYGTAHykJeryg3x5f7pwN9Apv0Ofmmt5HFrgU2zkZS8EK7oX8h+JtuT98M4ny9bXcoGiX73aUmmQc+j1YPP7g==",
"dependencies": { "dependencies": {
"@google/gemini-cli-core": "0.1.4", "@google/gemini-cli-core": "0.1.7",
"@types/update-notifier": "^6.0.8", "@types/update-notifier": "^6.0.8",
"command-exists": "^1.2.9", "command-exists": "^1.2.9",
"diff": "^7.0.0", "diff": "^7.0.0",
"dotenv": "^16.4.7", "dotenv": "^16.4.7",
"gaxios": "^6.1.1",
"glob": "^10.4.1", "glob": "^10.4.1",
"highlight.js": "^11.11.1", "highlight.js": "^11.11.1",
"ink": "^5.2.0", "ink": "^5.2.0",
@ -83,9 +84,9 @@
} }
}, },
"node_modules/@google/gemini-cli-core": { "node_modules/@google/gemini-cli-core": {
"version": "0.1.4", "version": "0.1.7",
"resolved": "https://registry.npmjs.org/@google/gemini-cli-core/-/gemini-cli-core-0.1.4.tgz", "resolved": "https://registry.npmjs.org/@google/gemini-cli-core/-/gemini-cli-core-0.1.7.tgz",
"integrity": "sha512-5x2Y/UReU5BpWkLa8IYjw1vFQJUO2YsOvCjX14TzVryqdeMMToQRPxkRANXDuXbDYqg4wTuln/cq3FOUFPSwCg==", "integrity": "sha512-V3KYamCruqhBSoWNvWm5MJn6EwwZVv/129h0f2SFVfgJP759QVAvcnT4nGq18Jf5nNqDkq01Uug3yR/NfGJN+g==",
"dependencies": { "dependencies": {
"@google/genai": "^1.4.0", "@google/genai": "^1.4.0",
"@modelcontextprotocol/sdk": "^1.11.0", "@modelcontextprotocol/sdk": "^1.11.0",
@ -99,6 +100,7 @@
"@types/html-to-text": "^9.0.4", "@types/html-to-text": "^9.0.4",
"diff": "^7.0.0", "diff": "^7.0.0",
"dotenv": "^16.4.7", "dotenv": "^16.4.7",
"gaxios": "^6.1.1",
"glob": "^10.4.5", "glob": "^10.4.5",
"google-auth-library": "^9.11.0", "google-auth-library": "^9.11.0",
"html-to-text": "^9.0.5", "html-to-text": "^9.0.5",
@ -235,9 +237,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@modelcontextprotocol/sdk": { "node_modules/@modelcontextprotocol/sdk": {
"version": "1.13.1", "version": "1.13.2",
"resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.13.1.tgz", "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.13.2.tgz",
"integrity": "sha512-8q6+9aF0yA39/qWT/uaIj6zTpC+Qu07DnN/lb9mjoquCJsAh6l3HyYqc9O3t2j7GilseOQOQimLg7W3By6jqvg==", "integrity": "sha512-Vx7qOcmoKkR3qhaQ9qf3GxiVKCEu+zfJddHv6x3dY/9P6+uIwJnmuAur5aB+4FDXf41rRrDnOEGkviX5oYZ67w==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"ajv": "^6.12.6", "ajv": "^6.12.6",
@ -861,9 +863,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "24.0.4", "version": "24.0.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.4.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.7.tgz",
"integrity": "sha512-ulyqAkrhnuNq9pB76DRBTkcS6YsmDALy6Ua63V8OhrOBgbcYt6IOdzpw5P1+dyRIyMerzLkeYWBeOXPpA9GMAA==", "integrity": "sha512-YIEUUr4yf8q8oQoXPpSlnvKNVKDQlPMWrmOcgzoduo7kvA2UF0/BwJ/eMKFTiTtkNL17I0M6Xe2tvwFU7be6iw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~7.8.0" "undici-types": "~7.8.0"
@ -1850,9 +1852,9 @@
} }
}, },
"node_modules/dotenv": { "node_modules/dotenv": {
"version": "16.5.0", "version": "16.6.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
"license": "BSD-2-Clause", "license": "BSD-2-Clause",
"engines": { "engines": {
"node": ">=12" "node": ">=12"
@ -4696,9 +4698,9 @@
} }
}, },
"node_modules/undici": { "node_modules/undici": {
"version": "7.10.0", "version": "7.11.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.10.0.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-7.11.0.tgz",
"integrity": "sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==", "integrity": "sha512-heTSIac3iLhsmZhUCjyS3JQEkZELateufzZuBaVM5RHXdSBMb1LPMQf5x+FH7qjsZYDP0ttAc3nnVpUB+wYbOg==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=20.18.1" "node": ">=20.18.1"

View file

@ -1,43 +1,59 @@
{ lib {
, buildNpmPackage lib,
, fetchFromGitHub buildNpmPackage,
, nix-update-script fetchFromGitHub,
, fetchNpmDeps,
writeShellApplication,
cacert,
curl,
gnused,
jq,
nix-prefetch-github,
prefetch-npm-deps,
gitUpdater,
}: }:
let buildNpmPackage (finalAttrs: {
pname = "gemini-cli"; pname = "gemini-cli";
version = "0.1.4"; version = "0.1.7";
in
buildNpmPackage {
inherit pname version;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "google-gemini"; owner = "google-gemini";
repo = "gemini-cli"; repo = "gemini-cli";
# Currently there's no release tag, use the `package-lock.json` to see tag = "v${finalAttrs.version}";
# what's the latest version hash = "sha256-DAenod/w9BydYdYsOnuLj7kCQRcTnZ81tf4MhLUug6c=";
rev = "a8763abfb7eeb91bc48445a5e0a24ab0532a714d";
hash = "sha256-yRzTYr4LHmT9t93I0P4Ewx5kO1E7aeIPVxXvB3A1Ofc=";
}; };
npmDepsHash = "sha256-RwEQtlwNPSu6WiWPW5N1s7tUNuVjZogN5RTAmNXqjLU="; npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
hash = "sha256-otogkSsKJ5j1BY00y4SRhL9pm7CK9nmzVisvGCDIMlU=";
};
fixupPhase = '' preConfigure = ''
runHook preFixup mkdir -p packages/generated
echo "export const GIT_COMMIT_INFO = { commitHash: '${finalAttrs.src.rev}' };" > packages/generated/git-commit.ts
# Remove broken symlinks
find $out -type l -exec test ! -e {} \; -delete 2>/dev/null || true
mkdir -p "$out/bin"
ln -sf "$out/lib/node_modules/@google/gemini-cli/bundle/gemini.js" "$out/bin/gemini"
patchShebangs "$out/bin" "$out/lib/node_modules/@google/gemini-cli/bundle/"
runHook postFixup
''; '';
passthru.updateScript = ./update.sh; installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/gemini-cli}
cp -r node_modules $out/share/gemini-cli/
rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli
rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli-core
cp -r packages/cli $out/share/gemini-cli/node_modules/@google/gemini-cli
cp -r packages/core $out/share/gemini-cli/node_modules/@google/gemini-cli-core
ln -s $out/share/gemini-cli/node_modules/@google/gemini-cli/dist/index.js $out/bin/gemini
runHook postInstall
'';
postInstall = ''
chmod +x "$out/bin/gemini"
'';
passthru.updateScript = gitUpdater { };
meta = { meta = {
description = "AI agent that brings the power of Gemini directly into your terminal"; description = "AI agent that brings the power of Gemini directly into your terminal";
@ -47,4 +63,4 @@ buildNpmPackage {
platforms = lib.platforms.all; platforms = lib.platforms.all;
mainProgram = "gemini"; mainProgram = "gemini";
}; };
} })