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";
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
|