Adjust login display color theme

This commit is contained in:
Yan Lin 2025-10-12 11:08:08 +02:00
parent 1a1a989a3a
commit 858a93e20c

View file

@ -70,16 +70,17 @@ in
programs.zsh.loginShellInit = mkIf config.programs.zsh.enable ( programs.zsh.loginShellInit = mkIf config.programs.zsh.enable (
let let
# ANSI color codes for truecolor (using \033 for better compatibility) # ANSI color codes for truecolor (using \033 for better compatibility)
# Gruvbox Hard Dark theme colors to match nvim
colors = { colors = {
reset = "\\033[0m"; reset = "\\033[0m";
dim = "\\033[2m"; dim = "\\033[2m";
cyan = "\\033[38;2;0;200;255m"; aqua = "\\033[38;2;142;192;124m"; # Gruvbox aqua #8ec07c
blue = "\\033[38;2;100;150;255m"; blue = "\\033[38;2;131;165;152m"; # Gruvbox blue #83a598
green = "\\033[38;2;80;250;123m"; green = "\\033[38;2;184;187;38m"; # Gruvbox green #b8bb26
yellow = "\\033[38;2;241;250;140m"; yellow = "\\033[38;2;250;189;47m"; # Gruvbox yellow #fabd2f
orange = "\\033[38;2;255;184;108m"; orange = "\\033[38;2;254;128;25m"; # Gruvbox orange #fe8019
red = "\\033[38;2;255;85;85m"; red = "\\033[38;2;251;73;52m"; # Gruvbox red #fb4934
gray = "\\033[38;2;100;100;120m"; gray = "\\033[38;2;146;131;116m"; # Gruvbox gray #928374
}; };
# Build SMART status display # Build SMART status display
@ -115,34 +116,34 @@ in
# Color-code status and temperature # Color-code status and temperature
if [[ "$HEALTH" == "PASSED" ]]; then if [[ "$HEALTH" == "PASSED" ]]; then
STATUS="\\033[38;2;80;250;123m\\033[0m" STATUS="\\033[38;2;184;187;38m\\033[0m"
HEALTH_COLOR="\\033[38;2;80;250;123m" HEALTH_COLOR="\\033[38;2;184;187;38m"
# Color temp based on value # Color temp based on value
if [[ "$TEMP" =~ ^[0-9]+$ ]]; then if [[ "$TEMP" =~ ^[0-9]+$ ]]; then
if [[ $TEMP -ge 70 ]]; then if [[ $TEMP -ge 70 ]]; then
TEMP_COLOR="\\033[38;2;255;85;85m" TEMP_COLOR="\\033[38;2;251;73;52m"
elif [[ $TEMP -ge 50 ]]; then elif [[ $TEMP -ge 50 ]]; then
TEMP_COLOR="\\033[38;2;255;184;108m" TEMP_COLOR="\\033[38;2;254;128;25m"
else else
TEMP_COLOR="\\033[38;2;241;250;140m" TEMP_COLOR="\\033[38;2;250;189;47m"
fi fi
TEMP_STR="$(printf "%b" "''${TEMP_COLOR}''${TEMP}°C\\033[0m")" TEMP_STR="$(printf "%b" "''${TEMP_COLOR}''${TEMP}°C\\033[0m")"
else else
TEMP_STR="$(printf "%b" "\\033[2m$TEMP\\033[0m")" TEMP_STR="$(printf "%b" "\\033[2m$TEMP\\033[0m")"
fi fi
elif [[ "$HEALTH" == "FAILED" ]]; then elif [[ "$HEALTH" == "FAILED" ]]; then
STATUS="\\033[38;2;255;85;85m\\033[0m" STATUS="\\033[38;2;251;73;52m\\033[0m"
HEALTH_COLOR="\\033[38;2;255;85;85m" HEALTH_COLOR="\\033[38;2;251;73;52m"
TEMP_STR="$(printf "%b" "\\033[2m$TEMP\\033[0m")" TEMP_STR="$(printf "%b" "\\033[2m$TEMP\\033[0m")"
else else
STATUS="\\033[38;2;241;250;140m\\033[0m" STATUS="\\033[38;2;250;189;47m\\033[0m"
HEALTH_COLOR="\\033[38;2;241;250;140m" HEALTH_COLOR="\\033[38;2;250;189;47m"
TEMP_STR="$(printf "%b" "\\033[2m$TEMP\\033[0m")" TEMP_STR="$(printf "%b" "\\033[2m$TEMP\\033[0m")"
fi fi
printf " %b \\033[2m%-15s\\033[0m %b%-7s\\033[0m %s\n" "$STATUS" "${name}" "$HEALTH_COLOR" "$HEALTH" "$TEMP_STR" printf " %b \\033[2m%-15s\\033[0m %b%-7s\\033[0m %s\n" "$STATUS" "${name}" "$HEALTH_COLOR" "$HEALTH" "$TEMP_STR"
else else
printf " \\033[38;2;241;250;140m\\033[0m \\033[2m%-15s\\033[0m \\033[38;2;255;85;85m%-20s\\033[0m\n" "${name}" "Not found" printf " \\033[38;2;250;189;47m\\033[0m \\033[2m%-15s\\033[0m \\033[38;2;251;73;52m%-20s\\033[0m\n" "${name}" "Not found"
fi fi
'') cfg.smartDrives)} '') cfg.smartDrives)}
''; '';
@ -164,7 +165,7 @@ in
}') }')
LOAD=$(uptime | ${pkgs.gawk}/bin/awk -F'load average:' '{gsub(/^ +| +$/, "", $2); print $2}') LOAD=$(uptime | ${pkgs.gawk}/bin/awk -F'load average:' '{gsub(/^ +| +$/, "", $2); print $2}')
printf " \\033[38;2;0;200;255m%s\\033[0m \\033[2m·\\033[0m \\033[2m\\033[0m %s \\033[2m· load\\033[0m %s\n" "$(hostname)" "$UPTIME_STR" "$LOAD" printf " \\033[38;2;142;192;124m%s\\033[0m \\033[2m·\\033[0m \\033[2m\\033[0m %s \\033[2m· load\\033[0m %s\n" "$(hostname)" "$UPTIME_STR" "$LOAD"
''; '';
# Build disk usage display with bar # Build disk usage display with bar
@ -183,13 +184,13 @@ in
# Color bar based on usage # Color bar based on usage
if [[ $PCT_NUM -ge 90 ]]; then if [[ $PCT_NUM -ge 90 ]]; then
BAR_COLOR="\\033[38;2;255;85;85m" BAR_COLOR="\\033[38;2;251;73;52m"
elif [[ $PCT_NUM -ge 70 ]]; then elif [[ $PCT_NUM -ge 70 ]]; then
BAR_COLOR="\\033[38;2;255;184;108m" BAR_COLOR="\\033[38;2;254;128;25m"
elif [[ $PCT_NUM -ge 50 ]]; then elif [[ $PCT_NUM -ge 50 ]]; then
BAR_COLOR="\\033[38;2;241;250;140m" BAR_COLOR="\\033[38;2;250;189;47m"
else else
BAR_COLOR="\\033[38;2;80;250;123m" BAR_COLOR="\\033[38;2;184;187;38m"
fi fi
printf " \\033[2m%-12s\\033[0m %6s/%-6s %b%s\\033[0m %5s\n" "${path}" "$USED" "$TOTAL" "$BAR_COLOR" "$BAR" "$PCT" printf " \\033[2m%-12s\\033[0m %6s/%-6s %b%s\\033[0m %5s\n" "${path}" "$USED" "$TOTAL" "$BAR_COLOR" "$BAR" "$PCT"
@ -207,7 +208,7 @@ in
# Check for completion messages # Check for completion messages
if echo "$SNAPRAID_SYNC_LOG" | ${pkgs.gnugrep}/bin/grep -q "Everything OK"; then if echo "$SNAPRAID_SYNC_LOG" | ${pkgs.gnugrep}/bin/grep -q "Everything OK"; then
SYNC_STATUS="" SYNC_STATUS=""
SYNC_COLOR="\\033[38;2;80;250;123m" SYNC_COLOR="\\033[38;2;184;187;38m"
# Get timestamp # Get timestamp
SYNC_TIMESTAMP=$(journalctl -u snapraid-sync.service --output=short-iso -n 100 --no-pager 2>/dev/null | ${pkgs.gnugrep}/bin/grep "Everything OK" | tail -1 | ${pkgs.gawk}/bin/awk '{print $1}') SYNC_TIMESTAMP=$(journalctl -u snapraid-sync.service --output=short-iso -n 100 --no-pager 2>/dev/null | ${pkgs.gnugrep}/bin/grep "Everything OK" | tail -1 | ${pkgs.gawk}/bin/awk '{print $1}')
@ -228,10 +229,10 @@ in
# Adjust color if old # Adjust color if old
if [[ $DIFF_SECONDS -gt 172800 ]]; then if [[ $DIFF_SECONDS -gt 172800 ]]; then
SYNC_STATUS="" SYNC_STATUS=""
SYNC_COLOR="\\033[38;2;255;85;85m" SYNC_COLOR="\\033[38;2;251;73;52m"
elif [[ $DIFF_SECONDS -gt 86400 ]]; then elif [[ $DIFF_SECONDS -gt 86400 ]]; then
SYNC_STATUS="" SYNC_STATUS=""
SYNC_COLOR="\\033[38;2;241;250;140m" SYNC_COLOR="\\033[38;2;250;189;47m"
fi fi
else else
SYNC_TIME="Unknown" SYNC_TIME="Unknown"
@ -262,21 +263,21 @@ in
elif echo "$SNAPRAID_SYNC_LOG" | ${pkgs.gnugrep}/bin/grep -q "error\|Error\|ERROR"; then elif echo "$SNAPRAID_SYNC_LOG" | ${pkgs.gnugrep}/bin/grep -q "error\|Error\|ERROR"; then
SYNC_STATUS="" SYNC_STATUS=""
SYNC_COLOR="\\033[38;2;255;85;85m" SYNC_COLOR="\\033[38;2;251;73;52m"
printf " %b%s\\033[0m \\033[2mLast sync\\033[0m %bFAILED\\033[0m\n" "$SYNC_COLOR" "$SYNC_STATUS" "$SYNC_COLOR" printf " %b%s\\033[0m \\033[2mLast sync\\033[0m %bFAILED\\033[0m\n" "$SYNC_COLOR" "$SYNC_STATUS" "$SYNC_COLOR"
else else
SYNC_STATUS="" SYNC_STATUS=""
printf " %b%s\\033[0m \\033[2mLast sync\\033[0m \\033[38;2;241;250;140mUnknown\\033[0m\n" "$SYNC_STATUS" printf " %b%s\\033[0m \\033[2mLast sync\\033[0m \\033[38;2;250;189;47mUnknown\\033[0m\n" "$SYNC_STATUS"
fi fi
else else
printf " \\033[38;2;241;250;140m\\033[0m \\033[2mLast sync\\033[0m \\033[2mNever run\\033[0m\n" printf " \\033[38;2;250;189;47m\\033[0m \\033[2mLast sync\\033[0m \\033[2mNever run\\033[0m\n"
fi fi
# Parse scrub status # Parse scrub status
if [[ -n "$SNAPRAID_SCRUB_LOG" ]]; then if [[ -n "$SNAPRAID_SCRUB_LOG" ]]; then
if echo "$SNAPRAID_SCRUB_LOG" | ${pkgs.gnugrep}/bin/grep -q "Everything OK"; then if echo "$SNAPRAID_SCRUB_LOG" | ${pkgs.gnugrep}/bin/grep -q "Everything OK"; then
SCRUB_STATUS="" SCRUB_STATUS=""
SCRUB_COLOR="\\033[38;2;80;250;123m" SCRUB_COLOR="\\033[38;2;184;187;38m"
# Get timestamp # Get timestamp
SCRUB_TIMESTAMP=$(journalctl -u snapraid-scrub.service --output=short-iso -n 100 --no-pager 2>/dev/null | ${pkgs.gnugrep}/bin/grep "Everything OK" | tail -1 | ${pkgs.gawk}/bin/awk '{print $1}') SCRUB_TIMESTAMP=$(journalctl -u snapraid-scrub.service --output=short-iso -n 100 --no-pager 2>/dev/null | ${pkgs.gnugrep}/bin/grep "Everything OK" | tail -1 | ${pkgs.gawk}/bin/awk '{print $1}')
@ -297,7 +298,7 @@ in
# Adjust color if old (scrub is weekly so >10d is concerning) # Adjust color if old (scrub is weekly so >10d is concerning)
if [[ $DIFF_SECONDS -gt 864000 ]]; then if [[ $DIFF_SECONDS -gt 864000 ]]; then
SCRUB_STATUS="" SCRUB_STATUS=""
SCRUB_COLOR="\\033[38;2;241;250;140m" SCRUB_COLOR="\\033[38;2;250;189;47m"
fi fi
else else
SCRUB_TIME="Unknown" SCRUB_TIME="Unknown"
@ -308,7 +309,7 @@ in
elif echo "$SNAPRAID_SCRUB_LOG" | ${pkgs.gnugrep}/bin/grep -q "error"; then elif echo "$SNAPRAID_SCRUB_LOG" | ${pkgs.gnugrep}/bin/grep -q "error"; then
ERROR_COUNT=$(echo "$SNAPRAID_SCRUB_LOG" | ${pkgs.gnugrep}/bin/grep -oP "[0-9]+\s+error" | ${pkgs.gawk}/bin/awk '{print $1}' | tail -1) ERROR_COUNT=$(echo "$SNAPRAID_SCRUB_LOG" | ${pkgs.gnugrep}/bin/grep -oP "[0-9]+\s+error" | ${pkgs.gawk}/bin/awk '{print $1}' | tail -1)
SCRUB_STATUS="" SCRUB_STATUS=""
SCRUB_COLOR="\\033[38;2;255;85;85m" SCRUB_COLOR="\\033[38;2;251;73;52m"
if [[ -n "$ERROR_COUNT" ]]; then if [[ -n "$ERROR_COUNT" ]]; then
printf " %b%s\\033[0m \\033[2mLast scrub\\033[0m %b%s error(s)\\033[0m\n" "$SCRUB_COLOR" "$SCRUB_STATUS" "$SCRUB_COLOR" "$ERROR_COUNT" printf " %b%s\\033[0m \\033[2mLast scrub\\033[0m %b%s error(s)\\033[0m\n" "$SCRUB_COLOR" "$SCRUB_STATUS" "$SCRUB_COLOR" "$ERROR_COUNT"
@ -316,10 +317,10 @@ in
printf " %b%s\\033[0m \\033[2mLast scrub\\033[0m %bErrors detected\\033[0m\n" "$SCRUB_COLOR" "$SCRUB_STATUS" "$SCRUB_COLOR" printf " %b%s\\033[0m \\033[2mLast scrub\\033[0m %bErrors detected\\033[0m\n" "$SCRUB_COLOR" "$SCRUB_STATUS" "$SCRUB_COLOR"
fi fi
else else
printf " \\033[38;2;241;250;140m\\033[0m \\033[2mLast scrub\\033[0m \\033[38;2;241;250;140mUnknown\\033[0m\n" printf " \\033[38;2;250;189;47m\\033[0m \\033[2mLast scrub\\033[0m \\033[38;2;250;189;47mUnknown\\033[0m\n"
fi fi
else else
printf " \\033[38;2;241;250;140m\\033[0m \\033[2mLast scrub\\033[0m \\033[2mNever run\\033[0m\n" printf " \\033[38;2;250;189;47m\\033[0m \\033[2mLast scrub\\033[0m \\033[2mNever run\\033[0m\n"
fi fi
''; '';
@ -330,12 +331,12 @@ in
if [[ -z "$CONTAINER_LOG" ]]; then if [[ -z "$CONTAINER_LOG" ]]; then
# Service never ran # Service never ran
printf " \\033[38;2;241;250;140m\\033[0m \\033[2mNever run\\033[0m\n" printf " \\033[38;2;250;189;47m\\033[0m \\033[2mNever run\\033[0m\n"
else else
# Check if last update completed # Check if last update completed
if echo "$CONTAINER_LOG" | ${pkgs.gnugrep}/bin/grep -q "Container update completed successfully"; then if echo "$CONTAINER_LOG" | ${pkgs.gnugrep}/bin/grep -q "Container update completed successfully"; then
STATUS_SYMBOL="\\033[38;2;80;250;123m\\033[0m" STATUS_SYMBOL="\\033[38;2;184;187;38m\\033[0m"
STATUS_COLOR="\\033[38;2;80;250;123m" STATUS_COLOR="\\033[38;2;184;187;38m"
STATUS_TEXT="SUCCESS" STATUS_TEXT="SUCCESS"
# Get timestamp of last successful update # Get timestamp of last successful update
@ -358,12 +359,12 @@ in
# Adjust color based on age # Adjust color based on age
if [[ $DIFF_SECONDS -gt 172800 ]]; then if [[ $DIFF_SECONDS -gt 172800 ]]; then
# > 48h - red # > 48h - red
STATUS_SYMBOL="\\033[38;2;255;85;85m\\033[0m" STATUS_SYMBOL="\\033[38;2;251;73;52m\\033[0m"
STATUS_COLOR="\\033[38;2;255;85;85m" STATUS_COLOR="\\033[38;2;251;73;52m"
elif [[ $DIFF_SECONDS -gt 86400 ]]; then elif [[ $DIFF_SECONDS -gt 86400 ]]; then
# 24-48h - yellow # 24-48h - yellow
STATUS_SYMBOL="\\033[38;2;241;250;140m\\033[0m" STATUS_SYMBOL="\\033[38;2;250;189;47m\\033[0m"
STATUS_COLOR="\\033[38;2;241;250;140m" STATUS_COLOR="\\033[38;2;250;189;47m"
fi fi
else else
TIME_AGO="Unknown" TIME_AGO="Unknown"
@ -398,14 +399,14 @@ in
if [[ -n "$FAILED_COUNT" && "$FAILED_COUNT" != "0" ]]; then if [[ -n "$FAILED_COUNT" && "$FAILED_COUNT" != "0" ]]; then
FAILED_LIST=$(echo "$CONTAINER_LOG" | ${pkgs.gawk}/bin/awk '/ Failed \([0-9]+\):/,/^(||=|$)/ {if ($0 ~ /^ /) {gsub(/^ /, ""); print}}' | tr '\n' ', ' | sed 's/, $//') FAILED_LIST=$(echo "$CONTAINER_LOG" | ${pkgs.gawk}/bin/awk '/ Failed \([0-9]+\):/,/^(||=|$)/ {if ($0 ~ /^ /) {gsub(/^ /, ""); print}}' | tr '\n' ', ' | sed 's/, $//')
if [[ -n "$FAILED_LIST" ]]; then if [[ -n "$FAILED_LIST" ]]; then
printf " \\033[38;2;255;85;85m Failed: %s\\033[0m\n" "$FAILED_LIST" printf " \\033[38;2;251;73;52m Failed: %s\\033[0m\n" "$FAILED_LIST"
fi fi
fi fi
elif echo "$CONTAINER_LOG" | ${pkgs.gnugrep}/bin/grep -q "ERROR: Some containers failed to update"; then elif echo "$CONTAINER_LOG" | ${pkgs.gnugrep}/bin/grep -q "ERROR: Some containers failed to update"; then
# Update ran but had failures # Update ran but had failures
STATUS_SYMBOL="\\033[38;2;255;85;85m\\033[0m" STATUS_SYMBOL="\\033[38;2;251;73;52m\\033[0m"
STATUS_COLOR="\\033[38;2;255;85;85m" STATUS_COLOR="\\033[38;2;251;73;52m"
# Get timestamp # Get timestamp
LAST_TIMESTAMP=$(journalctl -u container-updater.service --output=short-iso -n 150 --no-pager 2>/dev/null | ${pkgs.gnugrep}/bin/grep "ERROR: Some containers failed to update" | tail -1 | ${pkgs.gawk}/bin/awk '{print $1}') LAST_TIMESTAMP=$(journalctl -u container-updater.service --output=short-iso -n 150 --no-pager 2>/dev/null | ${pkgs.gnugrep}/bin/grep "ERROR: Some containers failed to update" | tail -1 | ${pkgs.gawk}/bin/awk '{print $1}')
@ -436,7 +437,7 @@ in
SUMMARY=$(IFS=", "; echo "''${SUMMARY_PARTS[*]}") SUMMARY=$(IFS=", "; echo "''${SUMMARY_PARTS[*]}")
printf " %b \\033[2mLast update\\033[0m %b%s\\033[0m \\033[38;2;255;85;85m%s\\033[0m\n" "$STATUS_SYMBOL" "$STATUS_COLOR" "$TIME_AGO" "$SUMMARY" printf " %b \\033[2mLast update\\033[0m %b%s\\033[0m \\033[38;2;251;73;52m%s\\033[0m\n" "$STATUS_SYMBOL" "$STATUS_COLOR" "$TIME_AGO" "$SUMMARY"
# Show updated containers # Show updated containers
if [[ -n "$UPDATED_COUNT" && "$UPDATED_COUNT" != "0" ]]; then if [[ -n "$UPDATED_COUNT" && "$UPDATED_COUNT" != "0" ]]; then
@ -450,15 +451,15 @@ in
if [[ -n "$FAILED_COUNT" && "$FAILED_COUNT" != "0" ]]; then if [[ -n "$FAILED_COUNT" && "$FAILED_COUNT" != "0" ]]; then
FAILED_LIST=$(echo "$CONTAINER_LOG" | ${pkgs.gawk}/bin/awk '/ Failed \([0-9]+\):/,/^(||=|$)/ {if ($0 ~ /^ /) {gsub(/^ /, ""); print}}' | tr '\n' ', ' | sed 's/, $//') FAILED_LIST=$(echo "$CONTAINER_LOG" | ${pkgs.gawk}/bin/awk '/ Failed \([0-9]+\):/,/^(||=|$)/ {if ($0 ~ /^ /) {gsub(/^ /, ""); print}}' | tr '\n' ', ' | sed 's/, $//')
if [[ -n "$FAILED_LIST" ]]; then if [[ -n "$FAILED_LIST" ]]; then
printf " \\033[38;2;255;85;85m Failed: %s\\033[0m\n" "$FAILED_LIST" printf " \\033[38;2;251;73;52m Failed: %s\\033[0m\n" "$FAILED_LIST"
fi fi
fi fi
else else
# Unknown or no completion message # Unknown or no completion message
STATUS_SYMBOL="\\033[38;2;241;250;140m\\033[0m" STATUS_SYMBOL="\\033[38;2;250;189;47m\\033[0m"
STATUS_TEXT="Unknown" STATUS_TEXT="Unknown"
printf " %b \\033[2mLast update\\033[0m \\033[38;2;241;250;140m%s\\033[0m\n" "$STATUS_SYMBOL" "$STATUS_TEXT" printf " %b \\033[2mLast update\\033[0m \\033[38;2;250;189;47m%s\\033[0m\n" "$STATUS_SYMBOL" "$STATUS_TEXT"
fi fi
fi fi
''; '';
@ -470,12 +471,12 @@ in
if [[ -z "$BORG_LOG" ]]; then if [[ -z "$BORG_LOG" ]]; then
# Service never ran # Service never ran
printf " \\033[38;2;241;250;140m\\033[0m \\033[2mNever run\\033[0m\n" printf " \\033[38;2;250;189;47m\\033[0m \\033[2mNever run\\033[0m\n"
else else
# Check if last backup succeeded # Check if last backup succeeded
if echo "$BORG_LOG" | ${pkgs.gnugrep}/bin/grep -q "Backup process completed successfully"; then if echo "$BORG_LOG" | ${pkgs.gnugrep}/bin/grep -q "Backup process completed successfully"; then
STATUS_SYMBOL="\\033[38;2;80;250;123m\\033[0m" STATUS_SYMBOL="\\033[38;2;184;187;38m\\033[0m"
STATUS_COLOR="\\033[38;2;80;250;123m" STATUS_COLOR="\\033[38;2;184;187;38m"
# Get timestamp of last successful backup # Get timestamp of last successful backup
LAST_TIMESTAMP=$(journalctl -u borg-backup.service --output=short-iso -n 100 --no-pager 2>/dev/null | ${pkgs.gnugrep}/bin/grep "Backup process completed successfully" | tail -1 | ${pkgs.gawk}/bin/awk '{print $1}') LAST_TIMESTAMP=$(journalctl -u borg-backup.service --output=short-iso -n 100 --no-pager 2>/dev/null | ${pkgs.gnugrep}/bin/grep "Backup process completed successfully" | tail -1 | ${pkgs.gawk}/bin/awk '{print $1}')
@ -497,12 +498,12 @@ in
# Adjust color based on age # Adjust color based on age
if [[ $DIFF_SECONDS -gt 172800 ]]; then if [[ $DIFF_SECONDS -gt 172800 ]]; then
# > 48h - red # > 48h - red
STATUS_SYMBOL="\\033[38;2;255;85;85m\\033[0m" STATUS_SYMBOL="\\033[38;2;251;73;52m\\033[0m"
STATUS_COLOR="\\033[38;2;255;85;85m" STATUS_COLOR="\\033[38;2;251;73;52m"
elif [[ $DIFF_SECONDS -gt 86400 ]]; then elif [[ $DIFF_SECONDS -gt 86400 ]]; then
# 24-48h - yellow # 24-48h - yellow
STATUS_SYMBOL="\\033[38;2;241;250;140m\\033[0m" STATUS_SYMBOL="\\033[38;2;250;189;47m\\033[0m"
STATUS_COLOR="\\033[38;2;241;250;140m" STATUS_COLOR="\\033[38;2;250;189;47m"
fi fi
else else
TIME_AGO="Unknown" TIME_AGO="Unknown"
@ -539,17 +540,17 @@ in
else else
# Check for errors # Check for errors
if echo "$BORG_LOG" | ${pkgs.gnugrep}/bin/grep -q "ERROR"; then if echo "$BORG_LOG" | ${pkgs.gnugrep}/bin/grep -q "ERROR"; then
STATUS_SYMBOL="\\033[38;2;255;85;85m\\033[0m" STATUS_SYMBOL="\\033[38;2;251;73;52m\\033[0m"
STATUS_TEXT="FAILED" STATUS_TEXT="FAILED"
ERROR_MSG=$(echo "$BORG_LOG" | ${pkgs.gnugrep}/bin/grep "ERROR" | tail -1 | ${pkgs.gawk}/bin/awk '{print substr($0, index($0,$2))}' | cut -c1-60) ERROR_MSG=$(echo "$BORG_LOG" | ${pkgs.gnugrep}/bin/grep "ERROR" | tail -1 | ${pkgs.gawk}/bin/awk '{print substr($0, index($0,$2))}' | cut -c1-60)
printf " %b \\033[2mLast backup\\033[0m \\033[38;2;255;85;85m%s\\033[0m\n" "$STATUS_SYMBOL" "$STATUS_TEXT" printf " %b \\033[2mLast backup\\033[0m \\033[38;2;251;73;52m%s\\033[0m\n" "$STATUS_SYMBOL" "$STATUS_TEXT"
if [[ -n "$ERROR_MSG" ]]; then if [[ -n "$ERROR_MSG" ]]; then
printf " \\033[2m %s\\033[0m\n" "$ERROR_MSG" printf " \\033[2m %s\\033[0m\n" "$ERROR_MSG"
fi fi
else else
STATUS_SYMBOL="\\033[38;2;241;250;140m\\033[0m" STATUS_SYMBOL="\\033[38;2;250;189;47m\\033[0m"
STATUS_TEXT="Unknown" STATUS_TEXT="Unknown"
printf " %b \\033[2mLast backup\\033[0m \\033[38;2;241;250;140m%s\\033[0m\n" "$STATUS_SYMBOL" "$STATUS_TEXT" printf " %b \\033[2mLast backup\\033[0m \\033[38;2;250;189;47m%s\\033[0m\n" "$STATUS_SYMBOL" "$STATUS_TEXT"
fi fi
fi fi
fi fi
@ -562,26 +563,26 @@ in
in '' in ''
if ([[ -n "$SSH_CONNECTION" ]] || [[ -n "$SSH_TTY" ]]) && [[ -z "$TMUX" ]]; then if ([[ -n "$SSH_CONNECTION" ]] || [[ -n "$SSH_TTY" ]]) && [[ -z "$TMUX" ]]; then
echo "" echo ""
printf "\\033[38;2;0;200;255m System \\033[0m\n" printf "\\033[38;2;142;192;124m System \\033[0m\n"
${systemInfoCode} ${systemInfoCode}
${optionalString hasDisks '' ${optionalString hasDisks ''
printf "\\033[38;2;100;150;255m Disks \\033[0m\n" printf "\\033[38;2;131;165;152m Disks \\033[0m\n"
${smartStatusCode} ${smartStatusCode}
''} ''}
${optionalString hasStorage '' ${optionalString hasStorage ''
printf "\\033[38;2;100;150;255m Storage \\033[0m\n" printf "\\033[38;2;131;165;152m Storage \\033[0m\n"
${diskUsageCode} ${diskUsageCode}
''} ''}
${optionalString cfg.showSnapraidStatus '' ${optionalString cfg.showSnapraidStatus ''
printf "\\033[38;2;100;150;255m SnapRAID \\033[0m\n" printf "\\033[38;2;131;165;152m SnapRAID \\033[0m\n"
${snapraidStatusCode} ${snapraidStatusCode}
''} ''}
${optionalString cfg.showContainerUpdater '' ${optionalString cfg.showContainerUpdater ''
printf "\\033[38;2;100;150;255m Containers \\033[0m\n" printf "\\033[38;2;131;165;152m Containers \\033[0m\n"
${containerUpdaterStatusCode} ${containerUpdaterStatusCode}
''} ''}
${optionalString cfg.showBorgStatus '' ${optionalString cfg.showBorgStatus ''
printf "\\033[38;2;100;150;255m Backup \\033[0m\n" printf "\\033[38;2;131;165;152m Backup \\033[0m\n"
${borgStatusCode} ${borgStatusCode}
''} ''}
echo "" echo ""