summary refs log tree commit diff
path: root/nixos/lib/eval-config.nix
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2014-05-05 16:30:51 -0400
committerNicolas B. Pierron <nicolas.b.pierron@gmail.com>2015-03-12 23:42:57 +0100
commit0a0a29fd0bb8329b33a0b2bb25627d3b3d9b7368 (patch)
tree1a07ea2e9b7f1d691ad084871e515b7a8b6b766f /nixos/lib/eval-config.nix
parente3eff53037f1b7abb7a44ba72f59f20649023642 (diff)
downloadnixpkgs-0a0a29fd0bb8329b33a0b2bb25627d3b3d9b7368.tar
nixpkgs-0a0a29fd0bb8329b33a0b2bb25627d3b3d9b7368.tar.gz
nixpkgs-0a0a29fd0bb8329b33a0b2bb25627d3b3d9b7368.tar.bz2
nixpkgs-0a0a29fd0bb8329b33a0b2bb25627d3b3d9b7368.tar.lz
nixpkgs-0a0a29fd0bb8329b33a0b2bb25627d3b3d9b7368.tar.xz
nixpkgs-0a0a29fd0bb8329b33a0b2bb25627d3b3d9b7368.tar.zst
nixpkgs-0a0a29fd0bb8329b33a0b2bb25627d3b3d9b7368.zip
Add comments about the module system interface
Ideally the module system could be configured pretty much completely by
the contents of the modules themselves, so add comments about avoiding
complicating it further and possibly removing now-redundant
configurability from the existing interface.
Diffstat (limited to 'nixos/lib/eval-config.nix')
-rw-r--r--nixos/lib/eval-config.nix22
1 files changed, 17 insertions, 5 deletions
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index 4ee1c61f54f..b4b251d2581 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -2,12 +2,24 @@
 # configuration object (`config') from which we can retrieve option
 # values.
 
-{ system ? builtins.currentSystem
-, pkgs ? null
-, baseModules ? import ../modules/module-list.nix
-, extraArgs ? {}
+# !!! Please think twice before adding to this argument list!
+# Ideally eval-config.nix would be an extremely thin wrapper
+# around lib.evalModules, so that modular systems that have nixos configs
+# as subcomponents (e.g. the container feature, or nixops if network
+# expressions are ever made modular at the top level) can just use
+# types.submodule instead of using eval-config.nix
+{ # !!! system can be set modularly, would be nice to remove
+  system ? builtins.currentSystem
+, # !!! is this argument needed any more? The pkgs argument can
+  # be set modularly anyway.
+  pkgs ? null
+, # !!! what do we gain by making this configurable?
+  baseModules ? import ../modules/module-list.nix
+, # !!! See comment about args in lib/modules.nix
+  extraArgs ? {}
 , modules
-, check ? true
+, # !!! See comment about check in lib/modules.nix
+  check ? true
 , prefix ? []
 , lib ? import ../../lib
 }: