about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathijs Kwik <mathijs@bluescreen303.nl>2014-12-17 09:48:35 +0100
committerMathijs Kwik <mathijs@bluescreen303.nl>2014-12-17 09:48:35 +0100
commit4aebd5ef872d830829646b379a097055fa86ea20 (patch)
treee0af9115d986487f20972322676c7318ee63524e
parent0d5bd2a0f33b10bd3f985716744777da5dddd402 (diff)
parent73f18fd42f6d266f586c4b80b596a0f761a904df (diff)
Merge pull request #5358 from bluescreen303/nixos-extra-modules
nixos: allow adding extra modules through environment
-rw-r--r--nixos/lib/eval-config.nix9
1 files changed, 5 insertions, 4 deletions
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index 0fa00637a93a4..08adcf3a00788 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -11,15 +11,16 @@
 , prefix ? []
 }:
 
-let extraArgs_ = extraArgs; pkgs_ = pkgs; system_ = system; in
-
-rec {
+let extraArgs_ = extraArgs; pkgs_ = pkgs; system_ = system;
+    extraModules = let e = builtins.getEnv "NIXOS_EXTRA_MODULE_PATH";
+                   in if e == "" then [] else [(import (builtins.toPath e))];
+in rec {
 
   # Merge the option definitions in all modules, forming the full
   # system configuration.
   inherit (pkgs.lib.evalModules {
     inherit prefix;
-    modules = modules ++ baseModules;
+    modules = modules ++ extraModules ++ baseModules;
     args = extraArgs;
     check = check && options.environment.checkConfigurationOptions.value;
   }) config options;