"Don't pick up hitchhikers!" <D. Adams> (Excerpt from Myth-ion Improbable)
This will be a collection of prompt themes, for different prompt tools. Currently, supporting only Starship. You can directly download an individual configuration or clone the whole repository to get all.
The prompts are styled as a single-line prompt, based on the Powerline style. All symbols make use of Nerd Fonts, therefore you need a compatible font to see the symbols. The coloring requires a terminal with support for true color (24-bit). The configuration is tested with the Nerd Font variants of FiraCode, Hack, and Victor (the configuration files include additional symbols if you don't like the defaults).
The configuration (aka theme) for Starship, covers all modules up to Starship version 1.14.2. There are (currently) two variants: one (general) for shells with right prompt support (cmd, elvish, Fish Shell, nushell, xonsh, zsh), and one for those which don't support it (called left_only).
There are custom modules for username and hostname, as I prefer different visibility in tmux
sessions. Otherwise, they function like the standard modules, meaning the username is only shown in a ssh
session, or a different user (like root or different from $LOGNAME
), and the hostname is only shown in a ssh
session. In a (remote) tmux
session, the username is only shown if different from the login user, and the hostname is not shown at all. Because, both the username and the hostname are shown in my tmux
status line.
The [directory]
module uses some substitutions for ~/Documents
, ~/Downloads
, ~/Music
, ~/Movies
, ~/Pictures
, ~/Sources
(check the starship.toml
for more information) and also replaces the default path separator (/
) with the powerline light right arrow (>
).
The [shell]
module is meant to be only visible, if different from the standard shell. My main shell is the Fish Shell, therefore no additional information is shown. You can change that in the [shell]
module section in the starship.toml
file.
Currently, the modules, which are enabled, are based on my personal preferences (see the preview section for more information). You can use starship config module_name.disable false
or starship config module_name.disable true
to change it. If you're wondering what modules are shown and why, you can always use starship explain
.
If you don't like the symbols, I've included alternative symbols in the starship.toml
. If you would like to have a newline before the prompt, use starship config add_newline true
.
The Twoliner variant contains a second configuration for the format
and right_format
section, where the [directory]
, [battery]
and [time]
modules are on the input line. To change it, check the starship.toml
file.
The preview images are made on macOS with iTerm, and a patched Input font (to include Nerd Font support and to add ligatures).
The following modules are shown in the preview and are disabled in the starship.toml
configuration files (list is in order of appearance):
- Memory (seen in the home directory, where the user is root): to enable use
starship config memory_usage.disabled false
. - OS (seen in the home & infra directories): to enable use
starship config os.disabled false
. - Battery (seen in the nothings/gonna/stop/us/now directory): is only shown if less than 20%. If you always want to show it, uncomment the section in the
starship.toml
file. - Time (seen in the nothings/gonna/stop/us/now directory): is only shown between 8 pm and 6 am--to remind you about R&R time 😎 If you always want to see it, comment the
time_range
line in thestarship.toml
file out. - Status (seen in the starbase directory): to enable use
starship config status.disabled false
. The[character]
module (the green pointed arrow) turns red if the shell exit code is not0
. The[status]
module shows additional information. - Git Metrics (seen in the elixir and node directories): to enable use
starship config git_metrics.disabled false
. - Shell (seen in the go directory): my default shell is the Fish Shell, therefore only other shells are shown. See the
[shell]
section instarship.toml
for further information and to change or adapt to your liking. - Command duration (seen in the python-project directory): to enable use
starship config cmd_duration.disabled false
.
Remark: the newline in between the prompts is just used for the preview. The configuration itself doesn't use newlines (which can be enabled).
with right prompt support (general):
without right prompt support (left_only):
with right prompt support (general):
without right prompt support (left_only):
with right prompt support (general):
without right prompt support (left_only):
with right prompt support (general):
without right prompt support (left_only):
- added the Orange variant with a lot less colors. All colors are now based on the type of module: Cloud (Dark blue), Container (Blue), Toolchain (Orange), Package (Grey), Git (Greens), etc.
- added a Twoline variant, which uses two lines for the prompt as Starship does by default
- the order of the modules, is now based on the placement in the format section — the Colorful variant still has it ordered alphabetically
- fixed errors in the Colorful • Slanted configuration files
- added the name of the variant as a comment in the configuration file
- renamed Dark to Colorful in preperation for upcoming variations
- included all modules up to Starship version 1.14.2
- moved all colors to the [palettes] module
- updated all symbols to reflect upcoming changes to Nerd Fonts 3.0 (the obsolete Material Design ones)
- included right prompt support in the general configuration (for cmd, elvish, Fish Shell, nushell, xonsh, zsh)
- moved the Powerline styling to the [format] module, so they can be easily adapted for left / right side variants or other powerline symbols
- styled the
VI
command modes - styled the
continuation_prompt
- replaced my custom shell modules with the new standard
[shell]
module - included the shell script for module [custom.giturl]
- styled the [line_break] module so it can be optionally used
- light color scheme
- download link for the config files
Very big thank you goes out to late @elseym for his invaluable support and feedback all the time. 🖤 And thank you @divb for always making time to listen to me and for your on-point feedback. 💛
Always have fun:sunny: in what you're doing and "DON'T PANIC"… 🚀
Enjoy!