mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 10:19:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| # Set color variables for the welcome text based on the current user
 | |
| if [ "$USER" = "root" ]; then
 | |
|     HEADER_COLOR="\033[1;31m"             # Bold red for root
 | |
| elif [ "$USER" = "administrator" ]; then
 | |
|     HEADER_COLOR="\033[1;38;5;208m"       # Bold orange for administrator
 | |
| else
 | |
|     HEADER_COLOR="\033[1;33m"             # Bold yellow for other users
 | |
| fi
 | |
| RESET_COLOR="\033[0m"
 | |
| 
 | |
| # Color code for the hostname (set to green, bold, underlined, and blinking)
 | |
| # (Note: \[ and \] are used for PS1 only; for echo, use plain escapes)
 | |
| HOSTNAME_COLOR="\033[1;4;5;32m"
 | |
| 
 | |
| clear
 | |
| 
 | |
| # Primary IP (determined via default route)
 | |
| PRIMARY_IP=$(ip route get 8.8.8.8 2>/dev/null | awk '{print $7}' | head -n1)
 | |
| 
 | |
| # Print welcome message
 | |
| echo -e "${HEADER_COLOR}Welcome, $USER on ${HOSTNAME_COLOR}$(hostname)!${RESET_COLOR}"
 | |
| echo -e "Primary IP Address: ${PRIMARY_IP}"
 | |
| echo -e "${HEADER_COLOR}Today is $(date +"%A, %d.%m.%Y %T")${RESET_COLOR}"
 | |
| echo -e "\033[94mPowered by: {{ SOFTWARE_NAME }}"
 | |
| echo -e "\033[1;31mWARNING: This software is not to be used for generating commercial profits.\033[94m"
 | |
| echo -e "If you require a license for commercial use, please contact Kevin Veen-Birkenbach, the author and copyright holder.\n"
 | |
| echo -e "More Information:"
 | |
| echo -e "- About {{ SOFTWARE_NAME }}:      \033[35mhttps://s.veen.world/infinito\033[94m"
 | |
| echo -e "- About the author:  \033[35mhttps://www.veen.world\033[94m"
 | |
| echo ""
 | |
| 
 | |
| # System Load (shows load averages and uptime)
 | |
| echo -e "${HEADER_COLOR}System Load:${RESET_COLOR}"
 | |
| uptime
 | |
| echo ""
 | |
| 
 | |
| # Memory Usage (RAM and swap)
 | |
| echo -e "${HEADER_COLOR}Memory Usage:${RESET_COLOR}"
 | |
| free -h
 | |
| echo ""
 | |
| 
 | |
| # Disk Usage
 | |
| echo -e "${HEADER_COLOR}Disk Usage:${RESET_COLOR}"
 | |
| df -h
 | |
| echo ""
 | |
| 
 | |
| # CPU Information (e.g., model name)
 | |
| echo -e "${HEADER_COLOR}CPU Information:${RESET_COLOR}"
 | |
| lscpu | grep "Model name"
 | |
| echo ""
 | |
| 
 | |
| # Top 5 Processes by CPU Usage
 | |
| echo -e "${HEADER_COLOR}Top 5 Processes by CPU Usage:${RESET_COLOR}"
 | |
| ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6
 | |
| echo ""
 | |
| 
 | |
| # Set aliases for colored output for ls and grep
 | |
| alias ls='ls --color=auto'
 | |
| alias grep='grep --color=auto'
 | |
| 
 | |
| # --- Prompt Configuration ---
 | |
| 
 | |
| # Define color codes for the username in the prompt based on the current user
 | |
| if [ "$USER" = "root" ]; then
 | |
|     PROMPT_USER_COLOR="\[\033[4;5;1;31m\]"        # Underlined, bold red for root
 | |
| elif [ "$USER" = "administrator" ]; then
 | |
|     PROMPT_USER_COLOR="\[\033[4;38;5;208m\]"      # Underlined, bold orange for administrator
 | |
| else
 | |
|     PROMPT_USER_COLOR="\[\033[33m\]"              # Yellow for other users
 | |
| fi
 | |
| 
 | |
| # Reset code for the prompt (must be wrapped in \[ \])
 | |
| PROMPT_RESET="\[\033[0m\]"
 | |
| 
 | |
| # Configure PS1: username, hostname in green, time and current directory
 | |
| PS1="${PROMPT_USER_COLOR}\u${PROMPT_RESET}@\[\033[1;4;5;32m\]\h${PROMPT_RESET} \[\033[90m\]\$(date +%H:%M:%S)\[\033[0m\]:\[\033[38;5;13m\]\w ${PROMPT_RESET}\$ "
 | |
| 
 |