2007-09-18 08:06:24 -07:00
|
|
|
let
|
|
|
|
|
2008-12-15 15:54:10 -08:00
|
|
|
fromEnv = name: default:
|
2008-10-06 16:23:28 -07:00
|
|
|
let env = builtins.getEnv name; in
|
|
|
|
if env == "" then default else env;
|
2009-05-20 03:18:54 -07:00
|
|
|
|
2008-10-06 16:23:28 -07:00
|
|
|
configuration = import (fromEnv "NIXOS_CONFIG" /etc/nixos/configuration.nix);
|
2009-05-20 03:18:54 -07:00
|
|
|
|
|
|
|
nixpkgs = fromEnv "NIXPKGS" /etc/nixos/nixpkgs;
|
2007-09-18 08:06:24 -07:00
|
|
|
|
2009-05-27 02:00:45 -07:00
|
|
|
pkgs = import nixpkgs {system = builtins.currentSystem;};
|
|
|
|
|
|
|
|
#system = import system/system.nix { inherit configuration nixpkgs; };
|
|
|
|
|
|
|
|
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;
|
2007-09-18 08:06:24 -07:00
|
|
|
|
2009-05-27 02:00:45 -07:00
|
|
|
optionDeclarations =
|
|
|
|
pkgs.lib.fixOptionSetsFun
|
|
|
|
pkgs.lib.filterOptionSets
|
|
|
|
pkgs configComponents
|
|
|
|
config;
|
|
|
|
|
2007-09-18 08:06:24 -07:00
|
|
|
in
|
|
|
|
|
2009-05-27 02:00:45 -07:00
|
|
|
{
|
|
|
|
|
|
|
|
system = config.system.build.system;
|
|
|
|
|
|
|
|
nix = config.environment.nix;
|
2009-05-25 10:41:03 -07:00
|
|
|
|
2009-05-27 02:00:45 -07:00
|
|
|
nixFallback = pkgs.nixUnstable;
|
2007-09-18 08:38:05 -07:00
|
|
|
|
2009-05-27 02:00:45 -07:00
|
|
|
manifests = config.installer.manifests; # exported here because nixos-rebuild uses it
|
2007-09-18 08:06:24 -07:00
|
|
|
|
2009-05-27 02:00:45 -07:00
|
|
|
tests = config.tests;
|
2007-09-18 08:06:24 -07:00
|
|
|
}
|