diff options
Diffstat (limited to 'derivations/gemini/default.nix')
-rw-r--r-- | derivations/gemini/default.nix | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/derivations/gemini/default.nix b/derivations/gemini/default.nix new file mode 100644 index 0000000..ee53130 --- /dev/null +++ b/derivations/gemini/default.nix @@ -0,0 +1,103 @@ +# { +# lib, +# buildNpmPackage, +# fetchFromGitHub, +# fetchNpmDeps, +# writeShellApplication, +# cacert, +# curl, +# gnused, +# jq, +# nix-prefetch-github, +# prefetch-npm-deps, +# gitUpdater, +# }: +# buildNpmPackage (finalAttrs: { +# pname = "superapp"; +# version = "0.4.2"; +# src = fetchFromGitHub { +# owner = "sortugdev"; +# repo = "superapp"; +# tag = "v${finalAttrs.version}"; +# hash = "sha256-DAenod/w9BydYdYsOnuLj7kCQRcTnZ81tf4MhLUug6c="; +# }; +# npmDeps = fetchNpmDeps { +# inherit (finalAttrs) src; +# hash = "sha256-otogkSsKJ5j1BY00y4SRhL9pm7CK9nmzVisvGCDIMlU="; +# }; +# preConfigure = '' +# mkdir -p packages/generated +# echo "export const GIT_COMMIT_INFO = { commitHash: '${finalAttrs.src.rev}' };" > packages/generated/git-commit.ts +# ''; +# installPhase = '' +# runHook preInstall +# mkdir -p $out/{bin,share/superapp-cli} +# cp -r node_modules $out/share/superapp-cli/ +# rm -f $out/share/superapp-cli/node_modules/@sortug/superapp-cli +# rm -f $out/share/superapp-cli/node_modules/@sortug/superapp-cli-core +# cp -r packages/cli $out/share/superapp-cli/node_modules/@sortug/superapp-cli +# cp -r packages/core $out/share/superapp-cli/node_modules/@sortug/superapp-cli-core +# ln -s $out/share/superapp-cli/node_modules/@sortug/superapp-cli/dist/index.js $out/bin/superapp +# runHook postInstall +# ''; +# postInstall = '' +# chmod +x "$out/bin/superapp" +# ''; +# passthru.updateScript = gitUpdater {}; +# meta = { +# description = "Super app that will save the world"; +# homepage = "https://github.com/sortugdev/superapp"; +# license = lib.licenses.asl20; +# maintainers = with lib.maintainers; [pepe]; +# platforms = lib.platforms.all; +# mainProgram = "superapp"; +# }; +# }) +{ + lib, + buildNpmPackage, + fetchFromGitHub, + fetchNpmDeps, + gitUpdater, +}: +buildNpmPackage (finalAttrs: { + pname = "gemini-cli"; + version = "0.1.7"; + src = fetchFromGitHub { + owner = "google-gemini"; + repo = "gemini-cli"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DAenod/w9BydYdYsOnuLj7kCQRcTnZ81tf4MhLUug6c="; + }; + npmDeps = fetchNpmDeps { + inherit (finalAttrs) src; + hash = "sha256-otogkSsKJ5j1BY00y4SRhL9pm7CK9nmzVisvGCDIMlU="; + }; + preConfigure = '' + mkdir -p packages/generated + echo "export const GIT_COMMIT_INFO = { commitHash: '${finalAttrs.src.rev}' };" > packages/generated/git-commit.ts + ''; + 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 = { + 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; [donteatoreo]; + platforms = lib.platforms.all; + mainProgram = "gemini"; + }; +}) |