Skip to content

Conversation

ljxfstorm
Copy link
Contributor

@ljxfstorm ljxfstorm commented Aug 11, 2025

Add a "binary" variant of gemini-cli using the gemini.js release asset from upstream.
This provides a much smaller package size and makes updates easier, as we won't have to worry about upstream build changes or missing dependencies.

Known Issue:
Running the gemini command from this package will print a DeprecationWarning from Node.js, as shown below.

(node:338601) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

This is because the upstream gemini.js build still depends on Node.js's deprecated punycode module. The warning won't affect any functionality of gemini-cli and is expected to be suppressed after the Node.js v22.17.0 update.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle! 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` labels Aug 11, 2025
@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from 4bb52d2 to 5af013a Compare August 11, 2025 10:26
@nixpkgs-ci nixpkgs-ci bot added the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Aug 11, 2025
@ljxfstorm
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 432759
Commit: 5af013a349af98dfea9fe8c8fcb687014a474e7a


x86_64-linux

✅ 1 package built:
  • gemini-cli-bin

@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from 5af013a to 85fa47d Compare August 13, 2025 08:15
@ljxfstorm ljxfstorm changed the title gemini-cli-bin: init at 0.1.18 gemini-cli-bin: init at 0.1.20 Aug 13, 2025
@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from 85fa47d to e72346d Compare August 14, 2025 06:22
@ljxfstorm ljxfstorm changed the title gemini-cli-bin: init at 0.1.20 gemini-cli-bin: init at 0.1.21 Aug 14, 2025
@nixpkgs-ci nixpkgs-ci bot removed the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Aug 14, 2025
@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from e72346d to 474e713 Compare August 14, 2025 07:43
@ljxfstorm
Copy link
Contributor Author

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 432759
Commit: 474e713210bc5f660c7858a3573c671267c75d68


x86_64-linux

✅ 1 package built:
  • gemini-cli-bin

@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from 474e713 to 83a988a Compare August 14, 2025 08:00
@yzhou216
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 432759

Logs: https://github.com/yzhou216/nixpkgs-review-gha/actions/runs/16959425417

Download packages from cache:
  • x86_64-linux
    nix-store -r --add-root nixpkgs-pr-432759-x86_64-linux \
      --option binary-caches 'https://cache.nixos.org/ https://yzhou216.cachix.org' \
      --option trusted-public-keys '
      cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
      yzhou216.cachix.org-1:O7nGwQnLGGBGE8zYFMipVzPVN956FcV57y9SqwEP+O8=
      ' \
      /nix/store/q4436fk70gaa9zhbv7kavl3xmxkralhx-gemini-cli-bin-0.1.21
  • aarch64-linux
    nix-store -r --add-root nixpkgs-pr-432759-aarch64-linux \
      --option binary-caches 'https://cache.nixos.org/ https://yzhou216.cachix.org' \
      --option trusted-public-keys '
      cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
      yzhou216.cachix.org-1:O7nGwQnLGGBGE8zYFMipVzPVN956FcV57y9SqwEP+O8=
      ' \
      /nix/store/gblzr270m3d8fr099j73p8yp556ihikx-gemini-cli-bin-0.1.21
  • x86_64-darwin
    nix-store -r --add-root nixpkgs-pr-432759-x86_64-darwin \
      --option binary-caches 'https://cache.nixos.org/ https://yzhou216.cachix.org' \
      --option trusted-public-keys '
      cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
      yzhou216.cachix.org-1:O7nGwQnLGGBGE8zYFMipVzPVN956FcV57y9SqwEP+O8=
      ' \
      /nix/store/ha567gzqf1axa4h4945hv2c59zq18psb-gemini-cli-bin-0.1.21
  • aarch64-darwin
    nix-store -r --add-root nixpkgs-pr-432759-aarch64-darwin \
      --option binary-caches 'https://cache.nixos.org/ https://yzhou216.cachix.org' \
      --option trusted-public-keys '
      cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
      yzhou216.cachix.org-1:O7nGwQnLGGBGE8zYFMipVzPVN956FcV57y9SqwEP+O8=
      ' \
      /nix/store/s2hygfg8qs7kp0vpq85ym3qjl4l83c9q-gemini-cli-bin-0.1.21

x86_64-linux

✅ 1 package built:
  • gemini-cli-bin

aarch64-linux

✅ 1 package built:
  • gemini-cli-bin

x86_64-darwin (sandbox = true)

✅ 1 package built:
  • gemini-cli-bin

aarch64-darwin (sandbox = true)

✅ 1 package built:
  • gemini-cli-bin

Copy link
Contributor

@yzhou216 yzhou216 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved automatically following the successful run of nixpkgs-review.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Aug 14, 2025
@oenu
Copy link

oenu commented Aug 18, 2025

Nice idea, lgtm

@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from 83a988a to 8ad68a1 Compare August 19, 2025 00:47
@ljxfstorm ljxfstorm changed the title gemini-cli-bin: init at 0.1.21 gemini-cli-bin: init at 0.1.22 Aug 19, 2025
@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from 8ad68a1 to 0c3007d Compare August 27, 2025 10:24
@ljxfstorm ljxfstorm changed the title gemini-cli-bin: init at 0.1.22 gemini-cli-bin: init at 0.2.1 Aug 27, 2025
@nixpkgs-ci nixpkgs-ci bot removed the 12.first-time contribution This PR is the author's first one; please be gentle! label Aug 27, 2025
@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from 0c3007d to f3a9506 Compare August 29, 2025 02:45
@ljxfstorm ljxfstorm changed the title gemini-cli-bin: init at 0.2.1 gemini-cli-bin: init at 0.2.2 Aug 29, 2025
@ljxfstorm ljxfstorm force-pushed the f/init-gemini-cli-bin branch from f3a9506 to 78231b9 Compare August 29, 2025 02:49
@ljxfstorm
Copy link
Contributor Author

Added meta.sourceProvenance and set it with lib.sourceTypes.binaryBytecode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-darwin: 1 This PR causes 1 package to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants