From 756c49865d57dd6930015b2e5c5c669330914572 Mon Sep 17 00:00:00 2001 From: xenia Date: Thu, 19 Oct 2023 14:22:30 +0200 Subject: [PATCH] Add packages to prompt when running nix shell --- home.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/home.nix b/home.nix index 4e8305cf..5811efa2 100644 --- a/home.nix +++ b/home.nix @@ -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%} "; )'