blob: aeb66f8797c97764b4e1ade27c056674ebde4325 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#!/usr/bin/env sh
HOST=$(hostname -s)
CPU=$(cat /proc/cpuinfo | grep "model name" | head -1 | cut -d':' -f2)
GPU=$(lspci | grep -i "vga\|3d\|display" | head -1 | cut -d':' -f3) # requires pciutils
TMEM=$(free -m | awk '/^Mem:/{print $2}')
UMEM=$(free -m | awk '/^Mem:/{print $3}')
OS=$(cat /etc/os-release | grep "^PRETTY_NAME" | cut -d'"' -f2)
KERN=$(uname -r)
TDSK=$(df -m / | awk 'NR==2{print $2}')
UDSK=$(df -m / | awk 'NR==2{print $3}')
UCPU=$(mpstat 1 1 | awk '/all/ {print 100 - $NF"%"}' | tail -n1) # requires mpstat
if [ "$1" = "-h" ]; then
cat <<EOF
sif - simple info fetcher.
usage: sif [-h/-v].
options:
-h, shows this help.
-v, shows ver.
EOF
exit 0
fi
if [ "$1" = "-v" ]; then
cat <<EOF
ver: 1.0.
license: GPL-3.0-or-later.
EOF
exit 0
fi
if command -v apk >/dev/null 2>&1; then
PKGC=$(apk list --installed 2>/dev/null | wc -l)
PKGM="apk"
elif command -v pacman >/dev/null 2>&1; then
PKGC=$(pacman -Q 2>/dev/null | wc -l)
PKGM="pacman"
elif command -v dpkg >/dev/null 2>&1; then
PKGC=$(dpkg -l 2>/dev/null | wc -l)
PKGM="dpkg"
elif command -v rpm >/dev/null 2>&1; then
PKGC=$(rpm -qa 2>/dev/null | wc -l)
PKGM="rpm"
elif command -v xbps-query >/dev/null 2>&1; then
PKGC=$(xbps-query -l 2>/dev/null | wc -l)
PKGM="xbps"
elif command -v emerge >/dev/null 2>&1; then
PKGC=$(ls -1 /var/db/pkg 2>/dev/null | wc -l)
PKGM="portage"
elif command -v pkg >/dev/null 2>&1; then
PKGC=$(pkg info 2>/dev/null | wc -l)
PKGM="pkg"
else
PKGC="?"
PKGM="unknown"
fi
echo "${USER}@${HOST}" >&2
echo "os: ${OS}." >&2
echo "kernel: ${KERN}." >&2
echo "shell: ${SHELL##*/}." >&2 # saves a shell fork
echo "pkgs: ${PKGC} (${PKGM})." >&2
echo "editor: ${EDITOR}." >&2
echo "de/wm: ${XDG_CURRENT_DESKTOP:-$DESKTOP_SESSION}." >&2
echo "term: ${TERM}." >&2
echo "cpu: ${CPU} ${UCPU}." >&2
echo "gpu: ${GPU}." >&2
echo "mem: ${UMEM}MiB/${TMEM}MiB." >&2
echo "disk: ${UDSK}MiB/${TDSK}MiB." >&2
|