Data Science on nixos nix, poetry, pip, mach-nix, pynixify: - all fail?

I maintain a consistent python environment for data scientists so they don’t have to. I use the buildEnv approach to create a derivation with all the packages they request which I then install in the default Nix profile (I use the single user Nix setup with a dedicated “admin” user). If a package in not available in nixpkgs I create a derivation for it using python-package-init. I also use overlays for tweaking parameters of the packages (MKL, GPU, etc.) and patching broken packages. Every 2-3 months I move the pinned nixpkgs to the latest unstable and rebuild the environment. Such an approach makes the versions consistent for all the teams/projects and the data scientists don’t have to learn nix.

9 Likes