A cross-shell customizable powerline-like prompt heavily inspired by Agnoster. The faster rust port of bronze.
Unlike most shell prompts, silver is not written in shell script, but entirely in Rust.
When silver init
is run, it outputs shell code that sets your prompt to run silver prompt
, which outputs the actual prompt. The silver prompt
command relies on environment variables for configuration.
Since silver is not written in shell script, it should theoretically be compatible with any shell, but the three supported shells are Bash, Zsh, and fish.
To be able to use the custom icons (which are enabled by default), you must patch your font or install a pre-patched font from Nerd Fonts.
cargo install silver
PATH
environment variableOn macOS, you will have to do a bit more:
* install Homebrew
* run brew install coreutils
* add alias date="gdate"
to your shell rc
Now that you have silver installed, you need to configure it. To have your prompt look like the one in the screenshot above, add this to your ~/.bashrc
/~/.zshrc
:
sh
SILVER=(status:black:white dir:blue:black git:green:black cmdtime:magenta:black)
export SILVER_SHELL=$0 # bash, zsh, or fish
Or add the following to your ~/.config/fish/config.fish
:
fish
set SILVER status:black:white dir:blue:black git:green:black cmdtime:magenta:black
set -x SILVER_SHELL fish
Now that silver is configured, you need to evaluate its bootstrap code.
~/.bashrc
/~/.zshrc
:
sh
eval "$(silver init)"
~/.config/fish/config.fish
:
fish
eval (silver init)
Documentation is available on the wiki.
src/
modules/
cmdtime.rs
cmdtime
moduledir.rs
dir
moduleenv.rs
env
modulegit.rs
git
modulemod.rs
os.rs
os
modulestatus.rs
status
moduletime.rs
time
moduleuser.rs
user
modulevirtualenv.rs
virtualenv
moduleicons.rs
init.bash
init.fish
init.zsh
main.rs
print.rs
sh.rs