Browse Source

* Move the config evaluation into a separate expression so that it can

be reused, e.g. for building the CD/DVD.

svn path=/nixos/branches/modular-nixos/; revision=15744
wip-nanopi-m4v2
Eelco Dolstra 17 years ago
parent
commit
5b7f7d2de1
2 changed files with 28 additions and 20 deletions
  1. +5
    -20
      default.nix
  2. +23
    -0
      lib/eval-config.nix

+ 5
- 20
default.nix View File

@@ -9,29 +9,14 @@ let
nixpkgs = fromEnv "NIXPKGS" /etc/nixos/nixpkgs;

pkgs = import nixpkgs {system = builtins.currentSystem;};
configComponents = [
configuration
(import ./system/options.nix)
];

# Make a configuration object from which we can retrieve option
# values.
config =
pkgs.lib.fixOptionSets
pkgs.lib.mergeOptionSets
pkgs configComponents;

optionDeclarations =
pkgs.lib.fixOptionSetsFun
pkgs.lib.filterOptionSets
pkgs configComponents
config;

inherit
(import ./lib/eval-config.nix {inherit configuration pkgs;})
config optionDeclarations;

in

{

# Optionally check wether all config values have corresponding
# option declarations.
system = pkgs.checker config.system.build.system


+ 23
- 0
lib/eval-config.nix View File

@@ -0,0 +1,23 @@
# From an end-user configuration file (`configuration'), build a NixOS
# configuration object (`config') from which we can retrieve option
# values.

{configuration, pkgs}:

rec {
configComponents = [
configuration
(import ../system/options.nix)
];

config =
pkgs.lib.fixOptionSets
pkgs.lib.mergeOptionSets
pkgs configComponents;

optionDeclarations =
pkgs.lib.fixOptionSetsFun
pkgs.lib.filterOptionSets
pkgs configComponents
config;
}

Loading…
Cancel
Save