diff options
Diffstat (limited to 'derivations/codex/default.nix')
-rw-r--r-- | derivations/codex/default.nix | 63 |
1 files changed, 63 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; + }; +}) |