aboutsummaryrefslogtreecommitdiff
path: root/pkgs/top-level/default.nix
diff options
context:
space:
mode:
authorJohn Ericson <Ericson2314@Yahoo.com>2016-06-22 01:33:53 -0700
committerJohn Ericson <Ericson2314@Yahoo.com>2016-07-09 13:06:19 -0700
commit29de9cedadb6dc67433776a58f50642f650dca5a (patch)
tree603ba89f0ebc9734d0582c662bb3608e3d7605a1 /pkgs/top-level/default.nix
parent125ffff089b6bd360c82cf986d8cc9b17fc2e8ac (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.nix44
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)