A unified terminal prompt configuration using Oh My Posh for a consistent experience across Windows, WSL, and Linux (including Raspberry Pi).
- Cross-platform: Works on Windows, WSL, and Linux (including Raspberry Pi)
- Single configuration: One theme file works everywhere
- Easy setup: Automated installation scripts for each platform
- Clean design: Displays essential information without clutter
- OS icon (shows WSL indicator in WSL)
- Current path
- Git branch and status
- Command execution time
- Exit status indicator
- Windows: PowerShell 5.1+ and winget
- Linux/WSL/Raspberry Pi: bash or zsh
- All platforms: A terminal that supports Nerd Fonts
- Clone or download this repository
- Open PowerShell as Administrator
- Navigate to the repository directory
- Run the setup script:
.\setup-windows.ps1- Install a Nerd Font:
oh-my-posh font install- Configure your terminal to use the Nerd Font
- Restart PowerShell or run
. $PROFILE
- Clone or download this repository
- Navigate to the repository directory
- Run the setup script:
./setup-linux.sh- Install a Nerd Font (download from Nerd Fonts)
- Recommended: MesloLGM Nerd Font
- Configure your terminal to use the Nerd Font
- Restart your shell or run
source ~/.bashrc(or~/.zshrc)
The easiest way to use this across all your machines:
- Fork or clone this repository to GitHub/GitLab
- On each machine, clone your repository:
git clone https://github.com/yourusername/silhouette.git
cd silhouette- Run the appropriate setup script for your platform
- Enjoy a consistent prompt everywhere!
Silhouette includes three theme variants. All themes display the same information but with different color schemes:
- Minimalist single-line prompt
- Cyan and green accents
- Best for: Those who prefer a compact, traditional prompt
- Dark green (#1a4d2e) and bright green (#4ecca3) color scheme
- Matrix-inspired aesthetic
- Best for: Terminal enthusiasts who love the classic green-on-black look
- Warm burnt orange (#8b4513) and wheat/tan (#f5deb3) colors
- Earthy, easy-on-the-eyes palette
- Best for: Those who prefer warmer, mellow tones
All themes show:
- Current directory path
- Git branch and status
- Machine/user information
- OS icon and WSL detection
- Command execution time
- Battery status (on supported systems)
- Current date/time
The setup scripts default to the original silhouette.omp.json. To use a different theme:
Edit your shell configuration file:
# For bash users
nano ~/.bashrc
# For zsh users
nano ~/.zshrcFind the line with oh-my-posh init and change the config path:
# Change from:
eval "$(oh-my-posh init bash --config ~/.config/ohmyposh/silhouette.omp.json)"
# To one of:
eval "$(oh-my-posh init bash --config ~/.config/ohmyposh/silhouette-matrix.omp.json)"
eval "$(oh-my-posh init bash --config ~/.config/ohmyposh/silhouette-sepia.omp.json)"Then copy your chosen theme and restart your shell:
cp silhouette-matrix.omp.json ~/.config/ohmyposh/silhouette-matrix.omp.json
source ~/.bashrc # or ~/.zshrcEdit your PowerShell profile:
notepad $PROFILEFind the line with oh-my-posh init and change the config path:
# Change from:
oh-my-posh init pwsh --config "$env:USERPROFILE\.config\ohmyposh\silhouette.omp.json" | Invoke-Expression
# To one of:
oh-my-posh init pwsh --config "$env:USERPROFILE\.config\ohmyposh\silhouette-matrix.omp.json" | Invoke-Expression
oh-my-posh init pwsh --config "$env:USERPROFILE\.config\ohmyposh\silhouette-sepia.omp.json" | Invoke-ExpressionThen copy your chosen theme and restart PowerShell:
Copy-Item silhouette-matrix.omp.json "$env:USERPROFILE\.config\ohmyposh\silhouette-matrix.omp.json"
. $PROFILETo create your own theme variant:
- Copy one of the existing theme files (e.g.,
cp silhouette-matrix.omp.json my-theme.omp.json) - Edit the colors, segments, or layout
- Refer to the Oh My Posh documentation for available options
- Update your shell config to point to your custom theme
- Restart your shell to apply changes
To remove Silhouette:
- Edit your PowerShell profile:
notepad $PROFILE - Remove the Oh My Posh initialization lines added by Silhouette
- (Optional) Uninstall oh-my-posh:
winget uninstall JanDeDobbeleer.OhMyPosh
- Edit
~/.bashrcor~/.zshrc - Remove the Oh My Posh initialization lines added by Silhouette
- (Optional) Remove oh-my-posh:
rm ~/.local/bin/oh-my-posh
- Make sure you have a Nerd Font installed
- Ensure your terminal is configured to use the Nerd Font
- Verify font installation: some terminals require a restart
- Linux/WSL: Ensure
~/.local/binis in your PATH - Windows: Restart PowerShell or update your PATH environment variable
- Try running the setup script again
- Verify the theme file exists at
~/.config/ohmyposh/silhouette.omp.json - Check your shell profile for the correct initialization command
- Try running oh-my-posh manually:
oh-my-posh init bash --config ~/.config/ohmyposh/silhouette.omp.json
MIT License - feel free to modify and share!
Built with Oh My Posh by Jan De Dobbeleer