#!/usr/bin/env dash # This was taken from the # `${pkgs.nix-index}/etc/profile.d/command-not-found.sh` file on 2024-02-28 # for bash 4 # this will be called when a command is entered # but not found in the user’s path + environment command_not_found_handle() { # taken from http://www.linuxjournal.com/content/bash-command-not-found # - do not run when inside Midnight Commander or within a Pipe if [ -n "${MC_SID-}" ] || ! [ -t 1 ]; then >&2 echo "$1: command not found" return 127 fi toplevel=nixpkgs # nixpkgs should always be available even in NixOS cmd="$1" attrs=$(nix-locate --minimal --no-group --type x --type s --top-level --whole-name --at-root "/bin/$cmd") len=$(if [ -n "$attrs" ]; then echo "$attrs" | wc -l; else echo 0; fi) case "$len" in 0) eprintln "$cmd: command not found" ;; 1) # If only one package provides this, then we can invoke it # without asking the user. # These will not return 127 if they worked correctly. >&2 cat <&2 cat <&2 cat <