{ mkShellNoCC, python3, kernels ? [], extraPackages ? (ps: []), }: mkShellNoCC { nativeBuildInputs = [ (python3.withPackages (ps: with ps; [ jupyterlab jupyterlab-git nbdime nbconvert python-lsp-server (ps.callPackage ./catppuccin_jupyterlab {}) ] ++ (extraPackages ps))) ]; shellHook = with builtins; let kernelString = foldl' (x: y: ":" + (toString y) + x) "" kernels; pathString = substring 1 (stringLength kernelString) kernelString; in "export JUPYTER_PATH=${pathString}"; }