# silver **Repository Path**: mirrors_erikbrinkman/silver ## Basic Information - **Project Name**: silver - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-23 - **Last Updated**: 2025-09-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # silver [![Join the chat at https://gitter.im/reujab-silver/community](https://badges.gitter.im/reujab-silver/community.svg)](https://gitter.im/reujab-silver/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Packaging status](https://repology.org/badge/vertical-allrepos/silver.svg)](https://repology.org/project/silver/versions) A cross-shell customizable powerline-like prompt heavily inspired by [Agnoster](https://github.com/agnoster/agnoster-zsh-theme). The faster rust port of [bronze](https://github.com/reujab/bronze).
![](./sleep.png) ## 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 left prompt to run `silver lprompt` and right prompt to `silver rprompt`, which output the actual prompt. ## Getting started Since silver is not written in shell script, it should theoretically be compatible with any shell, but the supported shells are Powershell, Bash, Zsh, fish, Ion and Elvish. ### 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](https://github.com/ryanoasis/nerd-fonts). ### Installation #### From source - install and setup [Rust](https://www.rust-lang.org/) - run `cargo install --git https://github.com/reujab/silver` #### From pre-compiled binary - download a binary on the [releases page](https://github.com/reujab/silver/releases) - add binary to `PATH` environment variable #### macOS On macOS, you will have to do a bit more: - install [Homebrew](https://brew.sh/) - run `brew install coreutils` - run `brew install openssl` - add `alias date="gdate"` to your shell config ### Configuration Now that you have silver installed, you need to configure it. To have your prompt look like the one in the screenshot above, create `silver.toml` with the following content: ```toml [[left]] name = "dir" color.background = "blue" color.foreground = "black" [[left]] name = "git" color.background = "green" color.foreground = "black" [[right]] name = "status" color.background = "white" color.foreground = "black" [[right]] name = "cmdtime" color.background = "magenta" color.foreground = "black" [[right]] name = "shell" color.background = "green" color.foreground = "black" ``` Now that silver is configured, you need to evaluate its bootstrap code. #### Bash `~/.bashrc`: ```sh source <(silver init) ``` #### Ion `~/.config/ion/initrc`: ```sh eval $(silver init) ``` #### Powershell ```ps1 Invoke-Expression -Command $(silver init | Out-String) ``` #### Zsh See [zsh plugin](https://github.com/silver-prompt/zsh#installation) #### Fish See [fish plugin](https://github.com/silver-prompt/fish#installation) #### Elvish See [elvish plugin](https://github.com/silver-prompt/elvish#installation) ## Documentation Documentation is available on [the wiki](https://github.com/reujab/silver/wiki). ## Project structure - [`src/`](src) - [`modules/`](src/modules) - [`cmdtime.rs`](src/modules/cmdtime.rs) - source code for the [`cmdtime`](https://github.com/reujab/silver/wiki/Command-Time) module - [`dir.rs`](src/modules/dir.rs) - source code for the [`dir`](https://github.com/reujab/silver/wiki/Directory) module - [`env.rs`](src/modules/env.rs) - source code for the [`env`](https://github.com/reujab/silver/wiki/Environment-Variable) module - [`git.rs`](src/modules/git.rs) - source code for the [`git`](https://github.com/reujab/silver/wiki/Git) module - [`mod.rs`](src/modules/mod.rs) - handles modules - [`os.rs`](src/modules/os.rs) - source code for the [`os`](https://github.com/reujab/silver/wiki/OS) module - [`status.rs`](src/modules/status.rs) - source code for the [`status`](https://github.com/reujab/silver/wiki/Status) module - [`time.rs`](src/modules/time.rs) - source code for the [`time`](https://github.com/reujab/silver/wiki/Time) module - [`user.rs`](src/modules/user.rs) - source code for the [`user`](https://github.com/reujab/silver/wiki/User) module - [`virtualenv.rs`](src/modules/virtualenv.rs) - source code for the [`virtualenv`](https://github.com/reujab/silver/wiki/virtualenv) module - [`cli.rs`](src/cli.rs) - parses command line arguments - [`config.rs`](src/config.rs) - parses TOML - [`icons.rs`](src/icons.rs) - processes icons, separators, and Unicode - [`init.bash`](src/init.bash) - bootstrap code for Bash - [`init.ion`](src/init.ion) - bootstrap code for Ion - [`init.ps1`](src/init.ps1) - bootstrap code for Powershell - [`main.rs`](src/main.rs) - does all the magic - [`print.rs`](src/print.rs) - prints prompt segments - [`sh.rs`](src/sh.rs) - shell-specific code