diff --git a/nix/default.nix b/nix/default.nix
index 1f9c55741073aeabb4bff3bcee3e25d420258d7a..3cc1304cb73db49656877ce238e061860ce0b400 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -2,8 +2,9 @@
 { pkgs, stdenv, src ? ../., opam2nix, ocaml ? pkgs.ocaml-ng.ocamlPackages_4_08.ocaml, plugins ? { } }:
 
 let mydir = builtins.getEnv("PWD");
-    mk-opam-selection = name: {
+    mk-opam-selection = { name, opamSrc?null, ... }: {
       inherit ocaml;
+      src = opamSrc;
       selection = "${mydir}/${name}-${ocaml.version}-opam-selection.nix";
     };
     opamPackages =
@@ -22,7 +23,7 @@ let mydir = builtins.getEnv("PWD");
               opamPackages ++ args.opamPackages
             else opamPackages
           ;
-          opam-selection = mk-opam-selection args.name;
+          opam-selection = mk-opam-selection args;
           buildInputs = args.buildInputs ++ opam2nix.buildInputs opam-selection;
       in
         stdenv.mkDerivation (