tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
command-not-found: add NIX_AUTO_RUN
Nathan Zadoks
10 years ago
254eebd8
1a07ecf9
+4
-1
2 changed files
expand all
collapse all
unified
split
nixos
modules
programs
command-not-found
command-not-found.nix
command-not-found.pl
+1
-1
nixos/modules/programs/command-not-found/command-not-found.nix
···
16
16
isExecutable = true;
17
17
inherit (pkgs) perl;
18
18
perlFlags = concatStrings (map (path: "-I ${path}/lib/perl5/site_perl ")
19
19
-
[ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite ]);
19
19
+
[ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite pkgs.perlPackages.StringShellQuote ]);
20
20
};
21
21
22
22
in
+3
nixos/modules/programs/command-not-found/command-not-found.pl
···
3
3
use strict;
4
4
use DBI;
5
5
use DBD::SQLite;
6
6
+
use String::ShellQuote;
6
7
use Config;
7
8
8
9
my $program = $ARGV[0];
···
31
32
EOF
32
33
;
33
34
exit 126 if system("nix-env", "-iA", "nixos.$package") == 0;
35
35
+
} elsif ($ENV{"NIX_AUTO_RUN"} // "") {
36
36
+
exec("nix-shell", "-p", $package, "--run", shell_quote("exec", @ARGV));
34
37
} else {
35
38
print STDERR <<EOF;
36
39
The program ‘$program’ is currently not installed. You can install it by typing: