command-not-found: update from nixpkgs

This commit is contained in:
Sandro Jäckel 2021-06-20 20:40:37 +02:00
parent a73e619377
commit cd11c02c28
No known key found for this signature in database
GPG key ID: 3AF5A43A3EECC2E5
2 changed files with 8 additions and 12 deletions

View file

@ -11,13 +11,8 @@ let
dir = "bin"; dir = "bin";
src = ./command-not-found.pl; src = ./command-not-found.pl;
isExecutable = true; isExecutable = true;
inherit (pkgs) perl;
inherit (cfg) dbPath; inherit (cfg) dbPath;
perlFlags = concatStrings (map (path: "-I ${path}/lib/perl5/site_perl ") [ perl = pkgs.perl.withPackages (p: [ p.DBDSQLite p.StringShellQuote ]);
pkgs.perlPackages.DBI
pkgs.perlPackages.DBDSQLite
pkgs.perlPackages.StringShellQuote
]);
}; };
shInit = commandNotFoundHandlerName: '' shInit = commandNotFoundHandlerName: ''

View file

@ -1,4 +1,4 @@
#! @perl@/bin/perl -w @perlFlags@ #! @perl@/bin/perl -w
use strict; use strict;
use DBI; use DBI;
@ -29,16 +29,17 @@ if (!defined $res || scalar @$res == 0) {
exec("nix-shell", "-p", $package, "--run", shell_quote("exec", @ARGV)); exec("nix-shell", "-p", $package, "--run", shell_quote("exec", @ARGV));
} else { } else {
print STDERR <<EOF; print STDERR <<EOF;
The program $program is currently not installed. You can install it by typing: The program '$program' is not in your PATH. You can make it available in an
nix-env -iA nixos.$package ephemeral shell by typing:
nix-shell -p $package
EOF EOF
} }
} else { } else {
print STDERR <<EOF; print STDERR <<EOF;
The program $program is currently not installed. It is provided by The program '$program' is not in your PATH. It is provided by several packages.
several packages. You can install it by typing one of the following: You can make it available in an ephemeral shell by typing one of the following:
EOF EOF
print STDERR " nix-env -iA nixos.$_->{package}\n" foreach @$res; print STDERR " nix-shell -p $_->{package}\n" foreach @$res;
} }
exit 127; exit 127;