Data science should be reproducible. Nix is pretty good at reproducibility. How do we combine the two? jupyterWith is a convenient Nix library for this purpose. It can create Jupyter Lab environments and declaratively configure Jupyter kernels, including all the language libraries used.