104 lines
2.8 KiB
Bash
104 lines
2.8 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -y -qq starship
|
|
|
|
DEST=${1-/et/skel}
|
|
mkdir -p ${DEST}/.config/starship
|
|
|
|
conf_print_starship_toml() {
|
|
cat <<'EOF'
|
|
# Insert a blank line between shell prompts
|
|
add_newline = true
|
|
|
|
# Increase the default command timeout to 2 seconds
|
|
command_timeout = 2000
|
|
|
|
# Define the order and format of the information in our prompt
|
|
format = """\
|
|
[](fg:#3B76F0)\
|
|
$directory\
|
|
${custom.directory_separator_not_git}\
|
|
${custom.directory_separator_git}\
|
|
$symbol($git_branch[](fg:#FCF392))\
|
|
$symbol( $git_commit$git_status$git_metrics$git_state)$fill$cmd_duration$nodejs$all\
|
|
${custom.git_config_email}
|
|
$character"""
|
|
|
|
# Fill character (empty space) between the left and right prompt
|
|
[fill]
|
|
symbol = " "
|
|
|
|
# Disable the line break between the first and second prompt lines
|
|
[line_break]
|
|
disabled = true
|
|
|
|
# Customize the format of the working directory
|
|
[directory]
|
|
truncate_to_repo = true
|
|
format = "[ﱮ $path ]($style)"
|
|
style = "fg:text bg:#3B76F0"
|
|
|
|
[git_branch]
|
|
symbol = " "
|
|
format = "[ $symbol$branch(:$remote_branch) ]($style)"
|
|
style = "fg:#1C3A5E bg:#FCF392"
|
|
|
|
[git_metrics]
|
|
disabled = false
|
|
|
|
[nodejs]
|
|
format = "via [$symbol($version )]($style)"
|
|
style = "yellow"
|
|
|
|
[package]
|
|
disabled = true # Enable to output the current working directory's package version
|
|
format = "[$symbol$version]($style) "
|
|
display_private = true
|
|
|
|
# Output the command duration if over 2 seconds
|
|
[cmd_duration]
|
|
min_time = 2_000
|
|
format = "[ $duration ]($style)"
|
|
style = "white"
|
|
|
|
# Customize the battery indicator
|
|
[battery]
|
|
format = "[$symbol $percentage]($style) "
|
|
empty_symbol = "🪫"
|
|
charging_symbol = "🔋"
|
|
full_symbol = '🔋'
|
|
|
|
[[battery.display]]
|
|
threshold = 10
|
|
style = 'red'
|
|
|
|
# Output the current git config email address
|
|
[custom.git_config_email]
|
|
description = "Output the current git user's configured email address."
|
|
command = "git config user.email"
|
|
format = "\n[$symbol( $output)]($style)"
|
|
# Only when inside git repository
|
|
when = "git rev-parse --is-inside-work-tree >/dev/null 2>&1"
|
|
style = "text"
|
|
|
|
# Output a styled separator right after the directory when inside a git repository.
|
|
[custom.directory_separator_git]
|
|
description = "Output a styled separator right after the directory when inside a git repository."
|
|
command = ""
|
|
format = "[](fg:#3B76F0 bg:#FCF392)"
|
|
# Only when inside git repository
|
|
when = "git rev-parse --is-inside-work-tree >/dev/null 2>&1"
|
|
|
|
# Output a styled separator right after the directory when NOT inside a git repository.
|
|
[custom.directory_separator_not_git]
|
|
description = "Output a styled separator right after the directory when NOT inside a git repository."
|
|
command = ""
|
|
format = "[](fg:#3B76F0)"
|
|
# Only when NOT inside a git repository
|
|
when = "! git rev-parse --is-inside-work-tree > /dev/null 2>&1"
|
|
|
|
EOF
|
|
}
|
|
conf_print_starship_toml | tee ${DEST}/.config/starship/starship.toml
|