2007-09-18 19:06:24 +04:00
|
|
|
let
|
|
|
|
|
2008-12-16 02:54:10 +03:00
|
|
|
fromEnv = name: default:
|
2008-10-07 03:23:28 +04:00
|
|
|
let env = builtins.getEnv name; in
|
|
|
|
if env == "" then default else env;
|
2009-05-20 14:18:54 +04:00
|
|
|
|
2008-10-07 03:23:28 +04:00
|
|
|
configuration = import (fromEnv "NIXOS_CONFIG" /etc/nixos/configuration.nix);
|
2009-05-20 14:18:54 +04:00
|
|
|
|
|
|
|
nixpkgs = fromEnv "NIXPKGS" /etc/nixos/nixpkgs;
|
2007-09-18 19:06:24 +04:00
|
|
|
|
2009-05-27 13:00:45 +04:00
|
|
|
pkgs = import nixpkgs {system = builtins.currentSystem;};
|
2009-05-27 13:16:56 +04:00
|
|
|
|
|
|
|
inherit
|
|
|
|
(import ./lib/eval-config.nix {inherit configuration pkgs;})
|
|
|
|
config optionDeclarations;
|
|
|
|
|
2007-09-18 19:06:24 +04:00
|
|
|
in
|
|
|
|
|
2009-05-27 13:00:45 +04:00
|
|
|
{
|
2009-05-27 13:03:07 +04:00
|
|
|
# Optionally check wether all config values have corresponding
|
|
|
|
# option declarations.
|
|
|
|
system = pkgs.checker config.system.build.system
|
|
|
|
config.environment.checkConfigurationOptions
|
|
|
|
optionDeclarations config;
|
2009-05-27 13:00:45 +04:00
|
|
|
|
2009-05-28 03:14:38 +04:00
|
|
|
# The following are used by nixos-rebuild.
|
2009-05-27 13:00:45 +04:00
|
|
|
nixFallback = pkgs.nixUnstable;
|
2009-05-28 03:14:38 +04:00
|
|
|
manifests = config.installer.manifests;
|
2007-09-18 19:06:24 +04:00
|
|
|
|
2009-05-27 13:00:45 +04:00
|
|
|
tests = config.tests;
|
2007-09-18 19:06:24 +04:00
|
|
|
}
|