Binderhub/repo2docker support for Nix

Hi everyone! I recently contributed a PR to repo2docker to enable support for nixpkgs and nix. I think that nix has a lot to offer the science community.

Binder

Demo Repository: https://github.com/costrouc/nix-binder-example

If you are unfamiliar with Nix here are some of the unique things that it has to offer.

  • 100% reproducible environments (pin to exact commit in repository)
  • both a source and binary package repository
  • allows customized compilation and version of every package
  • can run identical environment outside of docker (all linux distros + dawin)
  • as of now 45,000+ packages
  • fully declarative environments
  • packages: python, javascript, julia, R, haskell, perl, and many other languages (some better than others).

Look forward to others trying it out! Nix does has a steep learning curve but the reproducibility of development environments across everyones development environment is invaluable. If you decide to take the deep dive in nix we have NixOS which has a declarative configuration and offers atomic upgrades and rollbacks if anything breaks in an upgrade.

2 Likes