mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-10 08:16:15 +02:00
4911a10a4e
XZ compresses significantly better than bzip2. Here are the compression ratios and execution times (using 4 cores in parallel) on my /var/run/current-system (3.1 GiB): bzip2: total compressed size 849.56 MiB, 30.8% [2m08] xz -6: total compressed size 641.84 MiB, 23.4% [6m53] xz -7: total compressed size 621.82 MiB, 22.6% [7m19] xz -8: total compressed size 599.33 MiB, 21.8% [7m18] xz -9: total compressed size 588.18 MiB, 21.4% [7m40] Note that compression takes much longer. More importantly, however, decompression is much faster: bzip2: 1m47.274s xz -6: 0m55.446s xz -7: 0m54.119s xz -8: 0m52.388s xz -9: 0m51.842s The only downside to using -9 is that decompression takes a fair amount (~65 MB) of memory.
30 lines
810 B
Perl
30 lines
810 B
Perl
package Nix::Config;
|
|
|
|
$binDir = $ENV{"NIX_BIN_DIR"} || "@bindir@";
|
|
$libexecDir = $ENV{"NIX_LIBEXEC_DIR"} || "@libexecdir@";
|
|
$stateDir = $ENV{"NIX_STATE_DIR"} || "@localstatedir@/nix";
|
|
$manifestDir = $ENV{"NIX_MANIFESTS_DIR"} || "@localstatedir@/nix/manifests";
|
|
$logDir = $ENV{"NIX_LOG_DIR"} || "@localstatedir@/log/nix";
|
|
$confDir = $ENV{"NIX_CONF_DIR"} || "@sysconfdir@/nix";
|
|
|
|
$bzip2 = "@bzip2@";
|
|
$xz = "@xz@";
|
|
$curl = "@curl@";
|
|
|
|
$useBindings = "@perlbindings@" eq "yes";
|
|
|
|
sub readConfig {
|
|
my %config;
|
|
my $config = "@sysconfdir@/nix/nix.conf";
|
|
return unless -f $config;
|
|
|
|
open CONFIG, "<$config" or die "cannot open `$config'";
|
|
while (<CONFIG>) {
|
|
/^\s*([\w|-]+)\s*=\s*(.*)$/ or next;
|
|
$config{$1} = $2;
|
|
print "|$1| -> |$2|\n";
|
|
}
|
|
close CONFIG;
|
|
}
|
|
|
|
return 1;
|