diff options
author | John Ericson <Ericson2314@Yahoo.com> | 2016-06-22 01:33:53 -0700 |
---|---|---|
committer | John Ericson <Ericson2314@Yahoo.com> | 2016-07-09 13:06:19 -0700 |
commit | 29de9cedadb6dc67433776a58f50642f650dca5a (patch) | |
tree | 603ba89f0ebc9734d0582c662bb3608e3d7605a1 /pkgs/top-level/default.nix | |
parent | 125ffff089b6bd360c82cf986d8cc9b17fc2e8ac (diff) |
Make default config an argument default instead of using null check
Thanks @Mathnerd314 for this idea
Diffstat (limited to 'pkgs/top-level/default.nix')
-rw-r--r-- | pkgs/top-level/default.nix | 44 |
1 files changed, 19 insertions, 25 deletions
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index cff8671b65d5..8913dc1ef59e 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -22,43 +22,37 @@ , # Allow a configuration attribute set to be passed in as an # argument. Otherwise, it's read from $NIXPKGS_CONFIG or # ~/.nixpkgs/config.nix. - config ? null + # + # [For NixOS (nixos-rebuild), use nixpkgs.config option to set.] + config ? let + inherit (builtins) getEnv pathExists; + + configFile = getEnv "NIXPKGS_CONFIG"; + homeDir = getEnv "HOME"; + configFile2 = homeDir + "/.nixpkgs/config.nix"; + in + if configFile != "" && pathExists configFile then import configFile + else if homeDir != "" && pathExists configFile2 then import configFile2 + else {} , crossSystem ? null , platform ? null }: -let config_ = config; platform_ = platform; in # rename the function arguments +let configExpr = config; platform_ = platform; in # rename the function arguments let lib = import ../../lib; - # The contents of the configuration file found at $NIXPKGS_CONFIG or - # $HOME/.nixpkgs/config.nix. - # for NIXOS (nixos-rebuild): use nixpkgs.config option + # Allow both: + # { /* the config */ } and + # { pkgs, ... } : { /* the config */ } config = - let - inherit (builtins) getEnv pathExists; - - configFile = getEnv "NIXPKGS_CONFIG"; - homeDir = getEnv "HOME"; - configFile2 = homeDir + "/.nixpkgs/config.nix"; - - configExpr = - if config_ != null then config_ - else if configFile != "" && pathExists configFile then import configFile - else if homeDir != "" && pathExists configFile2 then import configFile2 - else {}; - - in - # allow both: - # { /* the config */ } and - # { pkgs, ... } : { /* the config */ } - if builtins.isFunction configExpr - then configExpr { inherit pkgs; } - else configExpr; + if builtins.isFunction configExpr + then configExpr { inherit pkgs; } + else configExpr; # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc) |