summaryrefslogtreecommitdiff
path: root/derivations/gemini/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'derivations/gemini/default.nix')
-rw-r--r--derivations/gemini/default.nix103
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";
+ };
+})