Last active
June 24, 2025 10:17
-
-
Save shashanthk/4ccd43c79b7c469dd82a9c74f9f39631 to your computer and use it in GitHub Desktop.
My custom Starship config file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Prerequisites: | |
# 1. Starship installed (https://starship.rs/) | |
# 2. A Nerd Font installed and enabled in your terminal. | |
# Recommended: FiraCode Nerd Font, JetBrainsMono Nerd Font | |
# Increase the timeout Starship will wait for external commands (in milliseconds) | |
command_timeout = 10000 | |
# 🎨 PALETTES --------------------------------------------------------------- | |
# Switch your theme by changing the 'palette' variable below. | |
# Available palettes: "odyssey_blue", "cyberpunk_neon", "matrix_green", "gruvbox_crew" | |
palette = "odyssey_blue" | |
[palettes.odyssey_blue] | |
# Inspired by a certain Starfleet command interface | |
white = '#c6c6c6' | |
gray = '#7b7b7b' | |
dark_gray = '#444444' | |
blue = '#569cd6' | |
cyan = '#4ec9b0' | |
green = '#6a9955' | |
yellow = '#dcdcaa' | |
orange = '#ce9178' | |
red = '#f44747' | |
purple = '#c586c0' | |
bg_blue = '#0c1a2e' # A deep space blue | |
[palettes.cyberpunk_neon] | |
# High-contrast neons for a dystopian future | |
white = '#ffffff' | |
gray = '#9e9e9e' | |
dark_gray = '#333333' | |
blue = '#00bfff' | |
cyan = '#00ffff' | |
green = '#39ff14' | |
yellow = '#ffff00' | |
red = '#ff003c' | |
purple = '#ff00ff' | |
bg_blue = '#120024' # Dark purple-ish background | |
[palettes.matrix_green] | |
# For when you feel like you've taken the red pill | |
white = '#e0e0e0' | |
gray = '#888888' | |
dark_gray = '#333333' | |
green = '#00ff41' | |
cyan = '#00ff41' | |
blue = '#00ff41' | |
yellow = '#00ff41' | |
red = '#ff0000' | |
purple = '#00ff41' | |
bg_blue = '#0a1a0a' # Very dark green | |
[palettes.gruvbox_crew] | |
# A warm, retro-futuristic feel | |
white = '#ebdbb2' | |
gray = '#928374' | |
dark_gray = '#3c3836' | |
blue = '#458588' | |
cyan = '#689d6a' | |
green = '#98971a' | |
yellow = '#d79921' | |
orange = '#d65d0e' | |
red = '#cc241d' | |
purple = '#b16286' | |
bg_blue = '#282828' # Gruvbox background | |
# FORMATTING ------------------------------------------------------------ | |
# This is the main layout of the prompt. | |
# It's split into a left side (format) and a right side (right_format). | |
# The '$all' variable ensures everything fits on one line if the terminal is narrow. | |
format = """$all""" | |
# The right-hand side of the prompt. Perfect for status indicators. | |
right_format = """ | |
$git_branch\ | |
$git_status\ | |
$cmd_duration\ | |
$custom_stardate | |
""" | |
# A blank line between prompts helps readability. | |
[line_break] | |
disabled = false | |
# Disable the package module, hiding it from the prompt completely | |
[package] | |
disabled = true | |
# The character shown at the very end of the prompt. | |
[character] | |
success_symbol = "[❯](bold green)" | |
error_symbol = "[❮](bold red)" | |
# 💻 SYSTEM & USER ------------------------------------------------------------ | |
# Your identity and the system you're commanding. | |
[username] | |
disabled = true | |
style_user = "bold purple" | |
style_root = "bold red" | |
format = "[$user]($style)@" | |
show_always = true | |
[hostname] | |
disabled = true | |
style = "bold blue" | |
format = "[$hostname]($style) " | |
ssh_only = false | |
[directory] | |
style = "bold cyan" | |
truncation_length = 1 | |
truncate_to_repo = true # Shorten path to the repo root | |
read_only = " 🔒" | |
format = "[$path]($style)[$read_only]($style) " | |
# 🛠️ DEVELOPMENT TOOLS ------------------------------------------------------- | |
# Language versions and environment indicators. Nerdy icons included! | |
[aws] | |
symbol = "☁️ " | |
style = "bold orange" | |
[docker_context] | |
symbol = "🐳 " | |
style = "bold blue" | |
[git_branch] | |
symbol = "🌿 " | |
style = "bold yellow" | |
format = "on [$symbol$branch]($style) " | |
[git_status] | |
style = "bold red" | |
conflicted = "[!](bold red)" | |
ahead = "↑" | |
behind = "↓" | |
diverged = "↕" | |
untracked = "[?](bold magenta)" | |
stashed = "[#](bold cyan)" | |
modified = "[*](bold yellow)" | |
staged = "[+${count}](bold green)" | |
renamed = "[»](bold blue)" | |
deleted = "[×](bold red)" | |
format = "[$all_status$ahead_behind]($style)" | |
[golang] | |
disabled = true | |
[java] | |
disabled = true | |
[nodejs] | |
disabled = true | |
[python] | |
disabled = true | |
[rust] | |
disabled = true | |
[gradle] | |
disabled = true | |
# ⏱️ COMMAND STATUS ---------------------------------------------------------- | |
[cmd_duration] | |
min_time = 1000 # Only show for commands taking > 1s | |
style = "bold gray" | |
format = " [$duration]($style) " | |
show_milliseconds = true | |
# ✨ CUSTOM MODULES ------------------------------------------------------------ | |
# This is where the real magic happens. | |
# A custom "stardate" because why not? | |
[custom.stardate] | |
description = "Displays the current date as a stardate" | |
command = "echo $(date +'%y%m%d.%S')" | |
when = "false" | |
style = "bold gray" | |
format = "[SD $output]($style) " | |
[os] | |
disabled = false | |
format = "$symbol " | |
symbols.Ubuntu = "" | |
symbols.Macos = "" | |
symbols.Windows = "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment