silver

A cross-shell customizable powerline-like prompt heavily inspired by Agnoster. The faster rust port of bronze.

How does it work?

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.

Getting started

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.

Icons

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.

Installation

From source

From pre-compiled binary

macOS

On macOS, you will have to do a bit more: * install Homebrew * run brew install coreutils * add alias date="gdate" to your shell rc

Configuration

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

Documentation is available on the wiki.

Project structure