Loading maintainers/maintainer-list.nix +6 −0 Original line number Diff line number Diff line Loading @@ -14727,6 +14727,12 @@ githubId = 40217331; name = "LizeLive"; }; ljxfstorm = { name = "Likai Liu"; email = "ljxf.storm@live.cn"; github = "ljxfstorm"; githubId = 7077478; }; llakala = { email = "elevenaka11@gmail.com"; github = "llakala"; Loading pkgs/by-name/ge/gemini-cli-bin/package.nix 0 → 100644 +55 −0 Original line number Diff line number Diff line { lib, stdenvNoCC, fetchurl, nodejs, gitUpdater, }: let owner = "google-gemini"; repo = "gemini-cli"; asset = "gemini.js"; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "gemini-cli-bin"; version = "0.3.4"; src = fetchurl { url = "https://github.com/${owner}/${repo}/releases/download/v${finalAttrs.version}/${asset}"; hash = "sha256-aVcizpbzV1hPsuMSGRxgMGXTyF+0yBqGk7EwPnKFDyQ="; }; phases = [ "installPhase" "fixupPhase" ]; strictDeps = true; buildInputs = [ nodejs ]; installPhase = '' runHook preInstall install -D "$src" "$out/bin/gemini" runHook postInstall ''; passthru.updateScript = [ ./update-asset.sh "${owner}/${repo}" "${asset}" ]; meta = { description = "AI agent that brings the power of Gemini directly into your terminal"; homepage = "https://github.com/google-gemini/gemini-cli"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ ljxfstorm ]; mainProgram = "gemini"; platforms = lib.platforms.linux ++ lib.platforms.darwin; sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; priority = 10; }; }) pkgs/by-name/ge/gemini-cli-bin/update-asset.sh 0 → 100755 +34 −0 Original line number Diff line number Diff line #!/usr/bin/env nix-shell #!nix-shell -i bash -p gnugrep curl jq gnused set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" NIX_FILE="package.nix" RELEASE_ID="latest" GITHUB_REPO="$1" ASSET_NAME="$2" REV_PREFIX="${3:-v}" CURRENT_VER="$(grep -oP 'version = "\K[^"]+' "${NIX_FILE}")" CURRENT_HASH="$(grep -oP 'hash = "\K[^"]+' "${NIX_FILE}")" { read -r LATEST_VER read -r ASSET_DIGEST } < <(curl --fail -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} "https://api.github.com/repos/${GITHUB_REPO}/releases/${RELEASE_ID}" | jq -r ".tag_name, (.assets[] | select(.name == \"${ASSET_NAME}\") | .digest)") LATEST_VER="${LATEST_VER#"${REV_PREFIX}"}" if [[ "${LATEST_VER}" == "${CURRENT_VER}" ]]; then echo "Up to date." exit 0 fi LATEST_HASH="$(nix-hash --to-sri "${ASSET_DIGEST}")" sed -i "s#hash = \"${CURRENT_HASH}\";#hash = \"${LATEST_HASH}\";#g" "${NIX_FILE}" sed -i "s#version = \"${CURRENT_VER}\";#version = \"${LATEST_VER}\";#g" "${NIX_FILE}" echo "Successfully updated from ${CURRENT_VER} to version ${LATEST_VER}." Loading
maintainers/maintainer-list.nix +6 −0 Original line number Diff line number Diff line Loading @@ -14727,6 +14727,12 @@ githubId = 40217331; name = "LizeLive"; }; ljxfstorm = { name = "Likai Liu"; email = "ljxf.storm@live.cn"; github = "ljxfstorm"; githubId = 7077478; }; llakala = { email = "elevenaka11@gmail.com"; github = "llakala"; Loading
pkgs/by-name/ge/gemini-cli-bin/package.nix 0 → 100644 +55 −0 Original line number Diff line number Diff line { lib, stdenvNoCC, fetchurl, nodejs, gitUpdater, }: let owner = "google-gemini"; repo = "gemini-cli"; asset = "gemini.js"; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "gemini-cli-bin"; version = "0.3.4"; src = fetchurl { url = "https://github.com/${owner}/${repo}/releases/download/v${finalAttrs.version}/${asset}"; hash = "sha256-aVcizpbzV1hPsuMSGRxgMGXTyF+0yBqGk7EwPnKFDyQ="; }; phases = [ "installPhase" "fixupPhase" ]; strictDeps = true; buildInputs = [ nodejs ]; installPhase = '' runHook preInstall install -D "$src" "$out/bin/gemini" runHook postInstall ''; passthru.updateScript = [ ./update-asset.sh "${owner}/${repo}" "${asset}" ]; meta = { description = "AI agent that brings the power of Gemini directly into your terminal"; homepage = "https://github.com/google-gemini/gemini-cli"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ ljxfstorm ]; mainProgram = "gemini"; platforms = lib.platforms.linux ++ lib.platforms.darwin; sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; priority = 10; }; })
pkgs/by-name/ge/gemini-cli-bin/update-asset.sh 0 → 100755 +34 −0 Original line number Diff line number Diff line #!/usr/bin/env nix-shell #!nix-shell -i bash -p gnugrep curl jq gnused set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" NIX_FILE="package.nix" RELEASE_ID="latest" GITHUB_REPO="$1" ASSET_NAME="$2" REV_PREFIX="${3:-v}" CURRENT_VER="$(grep -oP 'version = "\K[^"]+' "${NIX_FILE}")" CURRENT_HASH="$(grep -oP 'hash = "\K[^"]+' "${NIX_FILE}")" { read -r LATEST_VER read -r ASSET_DIGEST } < <(curl --fail -s ${GITHUB_TOKEN:+-u ":${GITHUB_TOKEN}"} "https://api.github.com/repos/${GITHUB_REPO}/releases/${RELEASE_ID}" | jq -r ".tag_name, (.assets[] | select(.name == \"${ASSET_NAME}\") | .digest)") LATEST_VER="${LATEST_VER#"${REV_PREFIX}"}" if [[ "${LATEST_VER}" == "${CURRENT_VER}" ]]; then echo "Up to date." exit 0 fi LATEST_HASH="$(nix-hash --to-sri "${ASSET_DIGEST}")" sed -i "s#hash = \"${CURRENT_HASH}\";#hash = \"${LATEST_HASH}\";#g" "${NIX_FILE}" sed -i "s#version = \"${CURRENT_VER}\";#version = \"${LATEST_VER}\";#g" "${NIX_FILE}" echo "Successfully updated from ${CURRENT_VER} to version ${LATEST_VER}."