pi: fix python env
Some checks failed
Build and Deploy / mreow (push) Successful in 1m14s
Build and Deploy / yarn (push) Successful in 57s
Build and Deploy / muffin (push) Failing after 32s

This commit is contained in:
2026-05-05 03:22:22 -04:00
parent c1f1959aa1
commit 92d49571b9

View File

@@ -119,6 +119,50 @@ let
}; };
}; };
# OMP's `eval` tool drives a Jupyter kernel for Python execution. It refuses
# ("Python backend is unavailable") unless both `kernel_gateway`
# (jupyter-kernel-gateway) and `ipykernel` are importable from the python it
# selects. nixpkgs ships ipykernel but not jupyter-kernel-gateway, so we
# build it here from the PyPI sdist.
jupyter-kernel-gateway = pkgs.python3Packages.buildPythonPackage rec {
pname = "jupyter_kernel_gateway";
version = "3.0.1";
pyproject = true;
src = pkgs.python3Packages.fetchPypi {
inherit pname version;
hash = "sha256-kAaQxMDnloZzVUaNaF9/oc88d3XQjoccFX931l+9bX8=";
};
nativeBuildInputs = [ pkgs.python3Packages.hatchling ];
propagatedBuildInputs = with pkgs.python3Packages; [
jupyter-client
jupyter-core
jupyter-server
requests
tornado
traitlets
];
# Upstream test suite hits the network and pulls pytest-jupyter; the import
# check is enough to confirm the package wires up correctly.
doCheck = false;
pythonImportsCheck = [ "kernel_gateway" ];
meta = {
description = "Jupyter Kernel Gateway: headless web server for Jupyter kernels";
homepage = "https://github.com/jupyter/kernel_gateway";
license = lib.licenses.bsd3;
};
};
# Python env exposed to omp as its "managed venv" at ~/.omp/python-env. omp's
# runtime resolver (packages/coding-agent/src/eval/py/runtime.ts) probes that
# path before falling back to PATH, so symlinking it here keeps PATH clean
# (no conflict with the python313 env in home/profiles/no-gui.nix) while
# guaranteeing kernel_gateway + ipykernel are importable without `omp setup
# python` ever needing to write to the store.
ompPythonEnv = pkgs.python3.withPackages (ps: [
ps.ipykernel
jupyter-kernel-gateway
]);
# Browser path for the playwright skill body. # Browser path for the playwright skill body.
playwrightChromium = playwrightChromium =
let let
@@ -144,6 +188,9 @@ in
# main settings: ~/.omp/agent/config.yml (JSON is valid YAML) # main settings: ~/.omp/agent/config.yml (JSON is valid YAML)
".omp/agent/config.yml".text = builtins.toJSON ompSettings; ".omp/agent/config.yml".text = builtins.toJSON ompSettings;
# see comment above ompPythonEnv definition.
".omp/python-env".source = ompPythonEnv;
# model/provider config: ~/.omp/agent/models.yml # model/provider config: ~/.omp/agent/models.yml
".omp/agent/models.yml".text = builtins.toJSON ompModels; ".omp/agent/models.yml".text = builtins.toJSON ompModels;