#!/usr/bin/env bash
# shellcheck disable=all

# Copyright (C) 2021-2022 Zaharia Constantin <constantin.zaharia@progeek.ro>
# Copyright (C) 2021-2022 ProGeek <https://progeek.ro>
# SPDX-License-Identifier: GPL-3.0-or-later

LC_ALL=C
LC_NUMERIC=C

include () {
    [[ -f $1 ]] && source $1
}

include /var/local/machine/plugins/colors.sh
include /var/local/machine/plugins/functions.sh

# get load averages
IFS=" " read LOAD1 LOAD5 LOAD15 <<<$(cat /proc/loadavg | awk '{ print $1,$2,$3 }')
# get free memory
IFS=" " read USED AVAIL TOTAL <<<$(free -htm | grep "Mem" | awk {'print $3,$7,$2'})
# get processes
PROCESS=`ps -eo user=|sort|uniq -c | awk '{ print $2 " " $1 }'`
PROCESS_ALL=$(echo "$PROCESS"| awk {'print $2'} | awk '{ SUM += $1} END { print SUM }')
PROCESS_ROOT=$(echo "$PROCESS"| grep root | awk {'print $2'})
PROCESS_USER=$(echo "$PROCESS"| grep -v root | awk {'print $2'} | awk '{ SUM += $1} END { print SUM }')
# get processors
PROCESSOR_NAME=$(grep "model name" /proc/cpuinfo | cut -d ' ' -f3- | awk {'print $0'} | head -1)
PROCESSOR_COUNT=$(grep -ioP 'processor\t:' /proc/cpuinfo | wc -l)

echo -e "
${GRY}System info:
$GRY  Distro......: $GRY`cat /etc/*release | grep "PRETTY_NAME" | cut -d "=" -f 2- | sed 's/"//g'`
$GRY  Kernel......: $GRY`uname -sr`
$GRY  Uptime......: $GRY`uptime -p`
$GRY  Load........: $GRN$LOAD1$GRY (1m), $GRN$LOAD5$GRY (5m), $GRN$LOAD15$GRY (15m)
$GRY  Processes...:$GRY $GRN$PROCESS_ROOT$W (root), $GRN$PROCESS_USER$GRY (user), $GRN$PROCESS_ALL$GRY (total)
$GRY  CPU.........: $GRY$PROCESSOR_NAME ($GRN$PROCESSOR_COUNT$GRY vCPU)
$GRY  Memory......: $GRN$USED$GRY used, $GRN$AVAIL$GRY avail, $GRN$TOTAL$GRY total$GRY"