sjsepan.minimalis-powerline

Customization based on my powerline theme for minimal color and symbol use. TOML theme for Bash using Starship and NerdFonts on Linux Mint. This theme is intended for users who will spend extended periods working in a pseudo-terminal (PTY), including screen and tmux, with occasional use in a TTY VT (when they will want to see minimal NerdFont glyphs and colors that are practical). Note: These use the colors black/white/red/green and should be compatible with the 'screen' CLI app.

Active Pure Nim score 65/100 · last commit 2026-08-10 · 1 stars · tests present · no docs generated

Summary

Latest Version Unknown
License Unknown
CI Status Failing
Stars 1
Forks 0
Open Issues 0
Last Commit 2026-08-10
Downloads 0
Last Indexed 2026-09-06 06:05

Installation

nimble install sjsepan.minimalis-powerline
choosenim install sjsepan.minimalis-powerline
git clone https://gitlab.com/sjsepan/sjsepan.minimalis-powerline

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
sjsepan.minimalis-powerline - - - - - - - - -

README

sjsepan.minimalis-powerline

TOML theme for Bash using Starship and NerdFonts on Linux Mint.

This theme is intended for users who will spend extended periods working in a pseudo-terminal (PTY), including screen and tmux, with occasional use in a TTY VT (when they will want to see minimal NerdFont glyphs and colors that are practical).

About

Customization based on my powerline theme for minimal color and symbol use.

Edited using VSCode and Better TOML extension

Note: These use the colors black/white/red/green and should be compatible with the 'screen' CLI app.

Screenshots

palette = 'light'

sjsepan.light-powerline.png

palette = 'dark'

sjsepan.dark-powerline.png

Colors:

sjsepan.minimalis-powerline.png

Note: the palette names 'light' or 'dark' refer to the BG shade, and the non-B/W palettes name colors. The 'light' BG colors are in 'bright' and non-'bright' shades.

Install Starship

curl -sS https://starship.rs/install.sh | sh

Get / Create a starship.toml file

Customize this one

Make changes to starship.toml from this repo

or Create a .toml from Preset

starship preset --list

starship preset powerline > starship.toml

Use the .toml (on Linux)

Use the .toml for a single user

Copy starship.toml to ~/.config

Edit the appropriate profile for each shell to be used, and add the initialization code.

Bash

nano ~/.bashrc

eval "$(starship init bash)"

Fish

nano ~/.config/fish/fish.config

starship init fish | source

Zsh

nano ~/.zshrc

eval "$(starship init zsh)"

Powershell

nano ~/.config/powershell/Microsoft.PowerShell_profile.ps1

Invoke-Expression (&starship init powershell)

Note: this is the method suggested from various sources, but in practice it appears to be ignored; see 'Powershell' below, under 'all system users'

Xonsh

nano ~/.xonshrc

execx($(starship init xonsh))

Elvish

nano ~/.config/elvish/rc.elv

eval (starship init elvish)

Tcsh

nano ~/.tcshrc

eval `starship init tcsh`

Use the .toml for all system users

Credits: inspired by @jy549883 at https://github.com/starship/starship/discussions/1107#discussioncomment-17615123, with elaboration by Grok and Brave AI.

Copy starship.toml to /etc/starship

sudo chown root:root starship.toml

sudo chmod 644 starship.toml

Edit the appropriate profile for each shell to be used, and add the initialization code.

Bash

cat << 'EOF' | sudo tee /etc/profile.d/starship.sh > /dev/null
#!/usr/bin/env bash
# /etc/profile.d/starship.sh
# System-wide Starship for Bash - Safe version

# Skip in non-interactive shells and when Starship is not installed
[[ $- != *i* ]] && return
command -v starship >/dev/null 2>&1 || return

# Central config
export STARSHIP_CONFIG="/etc/starship/starship.toml"

# Only proceed if config exists and is readable
[[ -r "$STARSHIP_CONFIG" ]] || return

# Initialize
eval "$(starship init bash)"
EOF

sudo chmod +x /etc/profile.d/starship.sh

cat << 'EOF' | sudo tee -a /etc/bash.bashrc > /dev/null
#!/usr/bin/env bash
# /etc/bash.bashrc
# System-wide Starship prompt
if [[ $- == *i* ]] && [ -f /etc/profile.d/starship.sh ]; then
    source /etc/profile.d/starship.sh
fi
EOF

Fish

cat << 'EOF' | sudo tee /etc/fish/conf.d/starship.fish > /dev/null
# /etc/fish/conf.d/starship.fish
# System-wide Starship prompt for Fish

if status is-interactive
    # Central configuration
    set -gx STARSHIP_CONFIG /etc/starship/starship.toml

    # Optional: custom cache
    # set -gx STARSHIP_CACHE /var/cache/starship

    # Initialize Starship
    starship init fish | source
end
EOF

Zsh

cat << 'EOF' | sudo tee /etc/zsh/zshrc.d/starship.zsh > /dev/null
# System-wide Starship prompt for Zsh

# Only for interactive shells
[[ -o interactive ]] || return

# Central configuration
export STARSHIP_CONFIG="/etc/starship/starship.toml"

# Optional: custom cache
# export STARSHIP_CACHE="/var/cache/starship"

# Initialize Starship
eval "$(starship init zsh)"
EOF
cat << 'EOF' | sudo tee -a /etc/zsh/zshrc > /dev/null
# Source drop-in configs
if [[ -d /etc/zsh/zshrc.d ]]; then
    for f in /etc/zsh/zshrc.d/*.zsh; do
        source "$f"
    done
fi
EOF

Powershell

sudo pwsh -Command "
    \$path = \$PROFILE.AllUsersAllHosts
    \$dir = Split-Path \$path -Parent
    if (!(Test-Path \$dir)) { New-Item -ItemType Directory -Force -Path \$dir | Out-Null }

    \$content = @'
# System-wide Starship prompt for PowerShell

if (\$Host.Name -eq 'ConsoleHost' -or \$Host.Name -eq 'Visual Studio Code Host') {
    \$ENV:STARSHIP_CONFIG = \"/etc/starship/starship.toml\"
    Invoke-Expression (&starship init powershell)
}
'@

    Set-Content -Path \$path -Value \$content -Force
"   

Xonsh

sudo mkdir -p /etc/xonsh
cat << 'EOF' | sudo tee /etc/xonsh/rc.xsh > /dev/null
# System-wide Xonsh configuration with Starship

# Set Starship config location
$STARSHIP_CONFIG = "/etc/starship/starship.toml"

# Initialize Starship
execx($(starship init xonsh))
EOF

Note: despite recommendations online, there is no system-wide configuration that seems to work; see Xonsh under 'single user' for each user.

Elvish

Note: there is no system-wide configuration; see Elvish under 'single user' for each user.

Tcsh

cat << 'EOF' | sudo tee /etc/tcsh > /dev/null
# System-wide Starship for Tcsh

if ($?prompt) then
    # Only for interactive shells

    setenv STARSHIP_CONFIG /etc/starship/starship.toml

    # Optional: cache directory
    # setenv STARSHIP_CACHE /var/cache/starship

    eval `starship init tcsh`
endif
EOF

Note: despite recommendations online, there is no system-wide configuration that seems to work; see Tcsh under 'single user' for each user.

Miscellaneous links

Starship home

https://starship.rs/

NerdFonts home

https://www.nerdfonts.com/

TOML Home

Tom's Obvious Minimal Language

https://toml.io/en/

NerdFonts Cheat-Sheet

https://www.nerdfonts.com/cheat-sheet

NerdFix

https://github.com/loichyan/nerdfix

History

0.6

~add 'light2', 'dark2', 'dark3' ~chg 'darkblack' to 'dark-black' -use dark FG on 'lightyellow2'

0.5:

~fix Error FG contrast on lightxxx2 colors

0.4:

~re-org module settings; ~redo screenshot;

0.3:

~more FG color palettes for dark theme(s)

0.2:

~more BG color palettes for light theme(s)

0.1:

~initial release of theme

Issues

~ Since OpenIndiana OS (IllumOS based) doesn't support Starship (https://github.com/starship/starship/issues/7231), I have included dot-files illustrating a simple configuration for PS1: '.bash_profile_openindiana' and '.bashrc.openindiana'. Place in the user's home (~) directory and remove the '.openindiana' extension. Then source .bashrc and possibly source .bash_profile.

Output of PS1 for OpenIndiana Hipster sjsepan.openindiana-ps1.png

Contact

Stephen J Sepan

sjsepan@yahoo.com

8-9-2026