aboutsummaryrefslogtreecommitdiff
path: root/perl
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-30 16:09:54 -0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-30 16:09:54 -0400
commitd059bf48e4bd4d1f50593dbe60953de8b2d395c7 (patch)
tree4dd8fed0eb5c2827000c84fd77719e4454adb627 /perl
parentf9613da18033d0a9835bc57ac2142aca754983cf (diff)
Pass configuration settings to the substituters
Previously substituters could read nix.conf themselves, but this didn't take --option flags into account.
Diffstat (limited to 'perl')
-rw-r--r--perl/lib/Nix/Config.pm.in10
1 files changed, 9 insertions, 1 deletions
diff --git a/perl/lib/Nix/Config.pm.in b/perl/lib/Nix/Config.pm.in
index ed197821e..8c902ab6e 100644
--- a/perl/lib/Nix/Config.pm.in
+++ b/perl/lib/Nix/Config.pm.in
@@ -19,9 +19,17 @@ $useBindings = "@perlbindings@" eq "yes";
%config = ();
sub readConfig {
+ if (defined $ENV{'_NIX_OPTIONS'}) {
+ foreach my $s (split '\n', $ENV{'_NIX_OPTIONS'}) {
+ my ($n, $v) = split '=', $s, 2;
+ $config{$n} = $v;
+ }
+ return;
+ }
+
my $config = "$confDir/nix.conf";
return unless -f $config;
-
+
open CONFIG, "<$config" or die "cannot open `$config'";
while (<CONFIG>) {
/^\s*([\w|-]+)\s*=\s*(.*)$/ or next;