summaryrefslogtreecommitdiff
path: root/derivations/codex
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-07-27 03:34:16 +0700
committerpolwex <polwex@sortug.com>2025-07-27 03:34:16 +0700
commit2339fba37290774336fa517a417330e3ff788ba5 (patch)
treed4bf9d531538af6d0e4718e75ee38a350ade671f /derivations/codex
parent7c959ef5c9c689c06aa5fe48110cdf6d780a438c (diff)
spanch
Diffstat (limited to 'derivations/codex')
-rw-r--r--derivations/codex/default.nix63
-rw-r--r--derivations/codex/flake.nix19
2 files changed, 82 insertions, 0 deletions
diff --git a/derivations/codex/default.nix b/derivations/codex/default.nix
new file mode 100644
index 0000000..5a0f366
--- /dev/null
+++ b/derivations/codex/default.nix
@@ -0,0 +1,63 @@
+{
+ lib,
+ rustPlatform,
+ fetchFromGitHub,
+ nix-update-script,
+ pkg-config,
+ openssl,
+ versionCheckHook,
+}:
+rustPlatform.buildRustPackage (finalAttrs: {
+ pname = "codex";
+ version = "0.7.0";
+
+ src = fetchFromGitHub {
+ owner = "openai";
+ repo = "codex";
+ rev = "f14b5adabf5db34864c44c1ffc6c566b018fe0cc";
+ # tag = "rust-v${finalAttrs.version}";
+ hash = "sha256-rRe0JFEO5ixxrZYDL8kxXDOH0n7lqabkXNNaSlNnQDg=";
+ };
+
+ sourceRoot = "${finalAttrs.src.name}/codex-rs";
+
+ useFetchCargoVendor = true;
+ cargoHash = "sha256-QIZ3V4NUo1VxJN3cwdQf3S0zwePnwdKKfch0jlIJacU=";
+
+ nativeBuildInputs = [
+ pkg-config
+ ];
+ buildInputs = [
+ openssl
+ ];
+
+ checkFlags = [
+ "--skip=keeps_previous_response_id_between_tasks" # Requires network access
+ "--skip=retries_on_early_close" # Requires network access
+ ];
+
+ doInstallCheck = true;
+ nativeInstallCheckInputs = [versionCheckHook];
+
+ passthru = {
+ updateScript = nix-update-script {
+ extraArgs = [
+ "--version-regex"
+ "^rust-v(\\d+\\.\\d+\\.\\d+)$"
+ ];
+ };
+ };
+
+ meta = {
+ description = "Lightweight coding agent that runs in your terminal";
+ homepage = "https://github.com/openai/codex";
+ changelog = "https://raw.githubusercontent.com/openai/codex/refs/tags/rust-v${finalAttrs.version}/CHANGELOG.md";
+ license = lib.licenses.asl20;
+ mainProgram = "codex";
+ maintainers = with lib.maintainers; [
+ malo
+ delafthi
+ ];
+ platforms = lib.platforms.unix;
+ };
+})
diff --git a/derivations/codex/flake.nix b/derivations/codex/flake.nix
new file mode 100644
index 0000000..3a0a46f
--- /dev/null
+++ b/derivations/codex/flake.nix
@@ -0,0 +1,19 @@
+{
+ description = "Gemini CLI flake";
+
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ };
+
+ outputs = {
+ self,
+ nixpkgs,
+ }: let
+ system = "x86_64-linux";
+ pkgs = nixpkgs.legacyPackages.${system};
+ in {
+ packages.${system}.default = pkgs.callPackage ./default.nix {
+ inherit (pkgs) lib buildNpmPackage fetchFromGitHub fetchNpmDeps gitUpdater;
+ };
+ };
+}