command-not-found: add NIX_AUTO_RUN

+4 -1
+1 -1
nixos/modules/programs/command-not-found/command-not-found.nix
··· 16 isExecutable = true; 17 inherit (pkgs) perl; 18 perlFlags = concatStrings (map (path: "-I ${path}/lib/perl5/site_perl ") 19 - [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite ]); 20 }; 21 22 in
··· 16 isExecutable = true; 17 inherit (pkgs) perl; 18 perlFlags = concatStrings (map (path: "-I ${path}/lib/perl5/site_perl ") 19 + [ pkgs.perlPackages.DBI pkgs.perlPackages.DBDSQLite pkgs.perlPackages.StringShellQuote ]); 20 }; 21 22 in
+3
nixos/modules/programs/command-not-found/command-not-found.pl
··· 3 use strict; 4 use DBI; 5 use DBD::SQLite; 6 use Config; 7 8 my $program = $ARGV[0]; ··· 31 EOF 32 ; 33 exit 126 if system("nix-env", "-iA", "nixos.$package") == 0; 34 } else { 35 print STDERR <<EOF; 36 The program ‘$program’ is currently not installed. You can install it by typing:
··· 3 use strict; 4 use DBI; 5 use DBD::SQLite; 6 + use String::ShellQuote; 7 use Config; 8 9 my $program = $ARGV[0]; ··· 32 EOF 33 ; 34 exit 126 if system("nix-env", "-iA", "nixos.$package") == 0; 35 + } elsif ($ENV{"NIX_AUTO_RUN"} // "") { 36 + exec("nix-shell", "-p", $package, "--run", shell_quote("exec", @ARGV)); 37 } else { 38 print STDERR <<EOF; 39 The program ‘$program’ is currently not installed. You can install it by typing: