forked from lix-project/hydra
treewide: allow nix
command
This commit is contained in:
parent
117b9ecef1
commit
994430b94b
|
@ -193,7 +193,8 @@ sub checkPath {
|
||||||
sub serveFile {
|
sub serveFile {
|
||||||
my ($c, $path) = @_;
|
my ($c, $path) = @_;
|
||||||
|
|
||||||
my $res = run(cmd => ["nix", "ls-store", "--store", getStoreUri(), "--json", "$path"]);
|
my $res = run(cmd => ["nix", "--experimental-features", "nix-command",
|
||||||
|
"ls-store", "--store", getStoreUri(), "--json", "$path"]);
|
||||||
|
|
||||||
if ($res->{status}) {
|
if ($res->{status}) {
|
||||||
notFound($c, "File '$path' does not exist.") if $res->{stderr} =~ /does not exist/;
|
notFound($c, "File '$path' does not exist.") if $res->{stderr} =~ /does not exist/;
|
||||||
|
@ -217,7 +218,8 @@ sub serveFile {
|
||||||
|
|
||||||
elsif ($ls->{type} eq "regular") {
|
elsif ($ls->{type} eq "regular") {
|
||||||
|
|
||||||
$c->stash->{'plain'} = { data => grab(cmd => ["nix", "cat-store", "--store", getStoreUri(), "$path"]) };
|
$c->stash->{'plain'} = { data => grab(cmd => ["nix", "--experimental-features", "nix-command",
|
||||||
|
"cat-store", "--store", getStoreUri(), "$path"]) };
|
||||||
|
|
||||||
# Detect MIME type. Borrowed from Catalyst::Plugin::Static::Simple.
|
# Detect MIME type. Borrowed from Catalyst::Plugin::Static::Simple.
|
||||||
my $type = "text/plain";
|
my $type = "text/plain";
|
||||||
|
|
|
@ -82,7 +82,7 @@ sub getPath {
|
||||||
|
|
||||||
my $substituter = $config->{eval_substituter};
|
my $substituter = $config->{eval_substituter};
|
||||||
|
|
||||||
system("nix", "copy", "--from", $substituter, "--", $path)
|
system("nix", "--experimental-features", "nix-command", "copy", "--from", $substituter, "--", $path)
|
||||||
if defined $substituter;
|
if defined $substituter;
|
||||||
|
|
||||||
return isValidPath($path);
|
return isValidPath($path);
|
||||||
|
|
Loading…
Reference in a new issue