nixos/kubernetes/kubelet: Fix sandbox image load on containerd 2.x (#364558)
[NixPkgs.git] / pkgs / applications / editors / jupyter / console.nix
blob255e76e85132a4778b6d78686d9e650d9120ec69
2   python3,
3   jupyter-kernel,
4   lib,
5 }:
7 let
8   mkConsole =
9     {
10       definitions ? jupyter-kernel.default,
11       kernel ? null,
12     }:
13     (python3.buildEnv.override {
14       extraLibs = [ python3.pkgs.jupyter-console ];
15       makeWrapperArgs =
16         [
17           "--set JUPYTER_PATH ${jupyter-kernel.create { inherit definitions; }}"
18         ]
19         ++ lib.optionals (kernel != null) [
20           "--add-flags --kernel"
21           "--add-flags ${kernel}"
22         ];
23     }).overrideAttrs
24       (oldAttrs: {
25         # To facilitate running nix run .#jupyter-console
26         meta = oldAttrs.meta // {
27           mainProgram = "jupyter-console";
28         };
29       });
34   # Build a console derivation with an arbitrary set of definitions, and an optional kernel to use.
35   # If the kernel argument is not supplied, Jupyter console will pick a kernel to run from the ones
36   # available on the system.
37   inherit mkConsole;
39   # An ergonomic way to start a console with a single kernel.
40   withSingleKernel =
41     definition:
42     mkConsole {
43       definitions = lib.listToAttrs [ (lib.nameValuePair definition.language definition) ];
44       kernel = definition.language;
45     };