Add packages to prompt when running nix shell

This commit is contained in:
xenia 2023-10-19 14:22:30 +02:00
parent 18f60085da
commit 756c49865d

View File

@ -78,17 +78,24 @@ in rec {
# We put PROMPT in initExtra instead of localVariables.PROMPT because nix puts the string in double quotes, whereas we want single quotes for the command to run each time
initExtra =
''
get_stuff_in_nix() {
printf "%s" $PATH | tr ':' '\n' | grep '/nix/store' \
| sed -Ee 's|/nix/store/[0-9a-z]*-(.*)/.*|\1|g' \
| sed -Ee 's|-[0-9]+(\.[0-9]+)+||g' \
| tr '\n' ' '
}
export PROMPT='$(
BG=$PROMPT_COLOR
FG=0
if [ ! -z $NIX_BUILD_CORES ] ; then
NIX_CONTENT="$(get_stuff_in_nix)"
if [ ! -z "$NIX_BUILD_CORES" -o ! -z "$NIX_CONTENT" ] ; then
BG=56
FG=15
fi
echo -en "%{\033[0m\033[38;5;''${FG}m\033[48;5;''${BG}m%} ";
echo -n "["
${unambig-path}/bin/unambig-path
echo -en "] %T ";
echo -en "] $NIX_CONTENT%T ";
echo -en "%{\033[0m\033[38:5:''${BG}m%}"
echo -en "%{\033[0m%} ";
)'