diff --git a/nix/default.nix b/nix/default.nix
index ead32f42f6a7b3e1c4ed6d0b436bc0b9a0466c01..aee52baff74e634345097c5a253d97140ef3ec70 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -10,25 +10,22 @@ let
          rev = "0f0b14258be090303c5013c2e29234040fa9766c";
          sha256 = "0srpsnr5fhn2zp36jx3inj6vrs5n302hh3vv0c7rsc90aq5i27cr";
      }) {};
+     mk_framac_clang = { name, llvmPackages, llvm } :
+       plugins.helpers.simple_plugin
+         { inherit pkgs stdenv src opam2nix ocaml_version plugins name;
+           deps = [ llvmPackages.clang-unwrapped llvm pkgs.gnused ];
+           opamPackages = [ "camlp5" ];
+           preFramaCTests = ''
+             echo CONFIGURING Why3 for Frama_Clang.
+             export HOME=$(mktemp -d)
+             why3 config --detect
+           '';
+         }    
+     ;
 in
-(plugins.helpers.simple_plugin
-   { inherit pkgs stdenv src opam2nix ocaml_version plugins;
-     name = "frama-clang-on-llvm-9";
-     deps = [ unstablePckgs.llvmPackages_9.clang-unwrapped unstablePckgs.llvm_9 pkgs.gnused ];
-     opamPackages = [ "camlp5" ];
-     preFramaCTests = ''
-       echo CONFIGURING Why3 for Frama_Clang.
-       export HOME=$(mktemp -d)
-       why3 config --detect
-     '';
-   }) // { on-llvm10 = (plugins.helpers.simple_plugin
-   { inherit pkgs stdenv src opam2nix ocaml_version plugins;
-     name = "frama-clang-on-llvm-10";
-     deps = [ unstablePckgs.llvmPackages_10.clang-unwrapped unstablePckgs.llvm_10 pkgs.gnused ];
-     opamPackages = [ "camlp5" ];
-     preFramaCTests = ''
-       echo CONFIGURING Why3 for Frama_Clang.
-       export HOME=$(mktemp -d)
-       why3 config --detect
-     '';
-   }); }
+(mk_framac_clang { name = "frama-clang-on-llvm-9";
+                   llvmPackages = unstablePckgs.llvmPackages_9;
+                   llvm = unstablePckgs.llvm_9; }) //
+    { on-llvm10 = (mk_framac_clang { name = "frama-clang-on-llvm-10";
+                                     llvmPackages = unstablePckgs.llvmPackages_10;
+                                     llvm = unstablePckgs.llvm_10; }); }