Right now since the repo is having two different implementations of codex, flake was updated to work with both typescript implementation and rust implementation
44 lines
1.1 KiB
Nix
44 lines
1.1 KiB
Nix
{ pkgs, monorep-deps ? [], ... }:
|
||
let
|
||
node = pkgs.nodejs_22;
|
||
in
|
||
rec {
|
||
package = pkgs.buildNpmPackage {
|
||
pname = "codex-cli";
|
||
version = "0.1.0";
|
||
src = ./.;
|
||
npmDepsHash = "sha256-3tAalmh50I0fhhd7XreM+jvl0n4zcRhqygFNB1Olst8";
|
||
nodejs = node;
|
||
npmInstallFlags = [ "--frozen-lockfile" ];
|
||
meta = with pkgs.lib; {
|
||
description = "OpenAI Codex command‑line interface";
|
||
license = licenses.asl20;
|
||
homepage = "https://github.com/openai/codex";
|
||
};
|
||
};
|
||
devShell = pkgs.mkShell {
|
||
name = "codex-cli-dev";
|
||
buildInputs = monorep-deps ++ [
|
||
node
|
||
pkgs.pnpm
|
||
];
|
||
shellHook = ''
|
||
echo "Entering development shell for codex-cli"
|
||
# cd codex-cli
|
||
if [ -f package-lock.json ]; then
|
||
pnpm ci || echo "npm ci failed"
|
||
else
|
||
pnpm install || echo "npm install failed"
|
||
fi
|
||
npm run build || echo "npm build failed"
|
||
export PATH=$PWD/node_modules/.bin:$PATH
|
||
alias codex="node $PWD/dist/cli.js"
|
||
'';
|
||
};
|
||
app = {
|
||
type = "app";
|
||
program = "${package}/bin/codex";
|
||
};
|
||
}
|
||
|