bobthefish
is a Powerline-style, Git-aware fish theme optimized for awesome.
Be sure to have Oh My Fish installed. Then just:
omf install bobthefish
You will probably need a Powerline-patched font for this to work. I recommend picking one of these. For more advanced awesome, install a nerd fonts patched font, and enable nerd fonts support:
set -g theme_nerd_fonts yes
This theme is based loosely on agnoster.
- A helpful, but not too distracting, greeting.
- A subtle timestamp hanging out off to the right.
- Powerline-style visual hotness.
- More colors than you know what to do with.
- An abbreviated path which doesn't abbreviate the name of the current project.
- All the things you need to know about Git in a glance.
- Visual indication that you can't write to the current directory.
- Flags:
- Previous command failed (
!
) - Background jobs (
%
) - You currently have superpowers (
$
)
- Previous command failed (
- Current vi mode
- You'll need to
set -g theme_display_vi yes
to enable
- You'll need to
User@Host
(unless you're the default user)- Current RVM or rbenv (Ruby) version
- Current virtualenv (Python) version
- If you use virtualenv, you will probably need to disable the default virtualenv prompt, since it doesn't play nice with fish:
set -x VIRTUAL_ENV_DISABLE_PROMPT 1
- If you use virtualenv, you will probably need to disable the default virtualenv prompt, since it doesn't play nice with fish:
- Abbreviated parent directory
- Current directory, or Git or Mercurial project name
- Current project's repo branch ( master) or detached head (
➦
d0dfd9b) - Git or Mercurial status, via colors and flags:
- Dirty working directory (
*
) - Untracked files (
…
) - Staged changes (
~
) - Stashed changes (
$
) - Unpulled commits (
-
) - Unpushed commits (
+
) - Unpulled and unpushed commits (
±
) - Note that not all of these have been implemented for hg yet :)
- Dirty working directory (
- Abbreviated project-relative path
You can override some of the following default options in your config.fish
:
set -g theme_display_git no
set -g theme_display_git_untracked no
set -g theme_display_git_ahead_verbose yes
set -g theme_display_vagrant yes
set -g theme_display_hg yes
set -g theme_display_virtualenv no
set -g theme_display_ruby no
set -g theme_display_user yes
set -g theme_display_vi yes
set -g theme_display_vi_hide_mode default
set -g theme_title_display_process yes
set -g theme_title_display_path no
set -g theme_title_use_abbreviated_path no
set -g theme_date_format "+%a %H:%M"
set -g theme_avoid_ambiguous_glyphs yes
set -g theme_nerd_fonts yes
set -g theme_show_exit_status yes
set -g default_user your_normal_user
Title options
theme_title_display_process
. By default theme doesn't show current process name in terminal title. If you want to show it, just set toyes
.theme_title_display_path
. Useno
to hide current working directory from title.theme_title_use_abbreviated_path
. Default isyes
. This means your home directory will be displayed as~
and/usr/local
as/u/local
. Set it tono
if you prefer full paths in title.
Prompt options
theme_display_ruby
. Useno
to completely hide all information about Ruby version. By default Ruby version displayed if there is the difference from default settings.theme_display_vagrant
. This feature is disabled by default, useyes
to display Vagrant status in your prompt. Please note that only the VirtualBox and VMWare providers are supported.theme_show_exit_status
. Set this option to yes to have the prompt show the last exit code if it was non_zero instead of just the exclamation mark.