diff --git a/lib/default.nix b/lib/default.nix
index 55cf1765e..7c3b0370e 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -10,6 +10,15 @@ let
 
     evalSource = import ./eval-source.nix;
 
+    evalSubmodule = submodule: modules: let
+      prefix = ["evalSubmodule"];
+    in evalModulesConfig [
+      {
+        options = removeAttrs (submodule.getSubOptions prefix) ["_module"];
+        imports = modules;
+      }
+    ];
+
     git = import ./git.nix { inherit lib; };
     haskell = import ./haskell.nix { inherit lib; };
     krebs = import ./krebs lib;