# Adapted from https://github.com/bennofs/nix-index/blob/master/command-not-found.sh command_not_found_handle () { if [ -n "${MC_SID-}" ] || ! [ -t 1 ]; then >&2 echo "$1: command not found" return 127 fi echo -n "searching nix-index..." ATTRS=$(@nix-locate@ --minimal --no-group --type x --type s --top-level --whole-name --at-root "/bin/$1") case `echo -n "$ATTRS" | grep -c "^"` in 0) >&2 echo -ne "$(@tput@ el1)\r" >&2 echo "$1: command not found" ;; *) >&2 echo -ne "$(@tput@ el1)\r" >&2 echo "The program ‘$(@tput@ setaf 4)$1$(@tput@ sgr0)’ is currently not installed." >&2 echo "It is provided by the following derivation(s):" while read ATTR; do ATTR=$(echo "$ATTR" | sed 's|\.out$||') # Strip trailing '.out' >&2 echo " $(@tput@ setaf 12)nixpkgs#$(@tput@ setaf 4)$ATTR$(@tput@ sgr0)" done <<< "$ATTRS" esac return 127 } command_not_found_handler () { command_not_found_handle $@ return $? }