aboutsummaryrefslogtreecommitdiffstats
path: root/fish/.config
diff options
context:
space:
mode:
authorGravatar Tom Willemse2021-05-28 12:34:22 -0700
committerGravatar Tom Willemse2021-11-02 22:06:32 -0700
commitbc4e1f826459f40d7a35cb5de38f996b45b3038f (patch)
tree6fc2566a9e8885532f70225cdd09db558635da18 /fish/.config
parent58dac9e92287ffcb5fcddae89e4d3cdcf382dff3 (diff)
downloadnew-dotfiles-bc4e1f826459f40d7a35cb5de38f996b45b3038f.tar.gz
new-dotfiles-bc4e1f826459f40d7a35cb5de38f996b45b3038f.zip
[fish] Add an indicator to the prompt that shows there is a guix env
Diffstat (limited to 'fish/.config')
-rw-r--r--fish/.config/fish/config.fish31
1 files changed, 31 insertions, 0 deletions
diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish
index 94dbc6a..14158ca 100644
--- a/fish/.config/fish/config.fish
+++ b/fish/.config/fish/config.fish
@@ -2,6 +2,37 @@ function fish_title
prompt_pwd
end
+function fish_prompt --description 'Write out the prompt'
+ set -l last_pipestatus $pipestatus
+ set -l normal (set_color normal)
+
+ # Color the prompt differently when we're root
+ set -l color_cwd $fish_color_cwd
+ set -l prefix
+ set -l suffix '>'
+ if contains -- $USER root toor
+ if set -q fish_color_cwd_root
+ set color_cwd $fish_color_cwd_root
+ end
+ set suffix '#'
+ end
+
+ # If we're running via SSH, change the host color.
+ set -l color_host $fish_color_host
+ if set -q SSH_TTY
+ set color_host $fish_color_host_remote
+ end
+
+ # Write pipestatus
+ set -l prompt_status (__fish_print_pipestatus " [" "]" "|" (set_color $fish_color_status) (set_color --bold $fish_color_status) $last_pipestatus)
+
+ if test -n "$GUIX_ENVIRONMENT"
+ echo -n "[env]"
+ end
+
+ echo -n -s (set_color $fish_color_user) "$USER" $normal @ (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal $prompt_status $suffix " "
+end
+
function hc
herbstclient $argv
end