Bash : Use nix color.

This commit is contained in:
Dmitry Voronin 2024-04-02 21:30:46 +03:00
parent b5ac32db10
commit 3e30a39edf
3 changed files with 23 additions and 37 deletions

View file

@ -109,22 +109,28 @@
# Colors.
nixosModules.color = {
aqua = "689d68";
bg = "1d2021";
bg_1 = "504945";
bg_2 = "3c3836";
blue = "458588";
blue_faded = "076678";
blue_1 = "076678";
darkgray = "282828";
fg = "ebdbb2";
fg_1 = "fbf1c7";
fg_2 = "d5c4a1";
gray = "a89984";
green = "98971a";
green_1 = "87af87";
purple = "b16286";
red = "cc241d";
transparent = "ffffff00";
yellow = "b8bb26";
blue_1_rgb = "69;133;136";
fg_1_rgb = "251;241;199";
green_1_rgb = "135;175;135";
red_rgb = "204;36;29";
yellow_rgb = "184;187;38";
};
# Common modules used across all hosts.

View file

@ -1,18 +1,14 @@
export PROMPT_COMMAND=(__prompt_command "${PROMPT_COMMAND[@]}")
export COLOR_BACKGROUND="235"
export COLOR_USER_ROOT="203"
export COLOR_USER_NORMAL="109"
export COLOR_FOREGROUND="230"
export COLOR_ACCENT="223"
export COLOR_ERROR="203"
export COLOR_PATH="108"
export COLOR_GIT="142"
function __prompt_color() {
local color="${1}"
[[ "${color}" = "" ]] && color="${COLOR_FOREGROUND}"
if [[ "${color}" = "" ]]; then
printf "\[\x1b[0m\]"
else
printf "\[\x1b[38;2;${color}m\]"
fi
# echo "\[\033[48;5;${COLOR_BACKGROUND};38;5;${color}m\]" # With backgroud.
echo "\[\033[38;5;${color}m\]" # Only foreground.
# echo "\[\033[38;5;${color}m\]" # Only foreground.
}
# Custom terminal prompt format.
@ -33,7 +29,7 @@ function __prompt_command() {
# Set error red.
if ${is_error}; then
PS1+="$(__prompt_color ${COLOR_ERROR})"
PS1+="$(__prompt_color ${red_rgb})"
PS1+="["
else
PS1+="$(__prompt_color)"
@ -41,31 +37,31 @@ function __prompt_command() {
fi
# Add time.
PS1+="$(__prompt_color ${COLOR_ACCENT})"
PS1+="$(__prompt_color ${fg_1_rgb})"
PS1+="$(date +%H:%M) "
# Set root red.
if ${is_root}; then
PS1+="$(__prompt_color ${COLOR_USER_ROOT})"
PS1+="$(__prompt_color ${red_rgb})"
else
PS1+="$(__prompt_color ${COLOR_USER_NORMAL})"
PS1+="$(__prompt_color ${blue_1_rgb})"
fi
# Add user, host and working dir.
PS1+="\u@\h "
PS1+="$(__prompt_color ${COLOR_PATH})"
PS1+="$(__prompt_color ${green_1_rgb})"
PS1+="\w"
# PS1+="\${PWD}"
# Add git branch if available.
local git_branch="$(_git_current_branch)"
if [[ "${git_branch}" != "" ]]; then
PS1+=" $(__prompt_color ${COLOR_GIT})@${git_branch}"
PS1+=" $(__prompt_color ${yellow_rgb})@${git_branch}"
fi
# Set error red.
if ${is_error}; then
PS1+="$(__prompt_color ${COLOR_ERROR})"
PS1+="$(__prompt_color ${red_rgb})"
PS1+="] "
else
PS1+="$(__prompt_color)"
@ -74,7 +70,7 @@ function __prompt_command() {
# If error, show code.
if ${is_error}; then
PS1+="$(__prompt_color ${COLOR_ERROR})("
PS1+="$(__prompt_color ${red_rgb})("
PS1+="${last_status}"
local error_type="$(_ps1error ${last_status})"
[[ "${error_type}" != "" ]] && PS1+=" ${error_type}"
@ -83,7 +79,7 @@ function __prompt_command() {
# Command on new line.
PS1+="\n"
PS1+="$(__prompt_color ${COLOR_ACCENT})"
PS1+="$(__prompt_color ${fg_1_rgb})"
# Show nix shell name.
if [ -n "${NIX_SHELL}" ]; then

View file

@ -1,19 +1,3 @@
set $aqua 689d68
set $bg 1d2021
set $bg_1 504945
set $blue 458588
set $blue_faded 076678
set $darkgray 282828
set $fg ebdbb2
set $fg_1 fbf1c7
set $fg_2 d5c4a1
set $gray a89984
set $green 98971a
set $purple b16286
set $red cc241d
set $transparent ffffff00
set $yellow b8bb26
# Class Border Bground Text Indicator ChildBorder
client.focused #$yellow #$yellow #$fg #$yellow #$yellow
client.focused_inactive #$bg_1 #5f676a #$fg #484e50 #5f676a