abbiefetch/distro_machine_detection.7

90 lines
3.7 KiB
Groff
Raw Permalink Normal View History

if [ -f /etc/lsb-release ] && [ "$system_type" = "linux" ]; then
2024-11-12 17:53:59 +00:00
if [ "$hasawk" -eq 1 ] && [ -z "$distro" ]; then
if [ -n "$(cat /etc/lsb-release | grep DISTRIB_DESCRIPTION | awk -F "\"" '{print $2}') $(cat /etc/lsb-release | grep DISTRIB_RELEASE | awk -F "\"" '{print $2}')" ] && [ "$(cat /etc/lsb-release | grep DISTRIB_RELEASE | awk -F "\"" '{print $2}')" != "rolling" ]; then
distro="$(cat /etc/lsb-release | grep DISTRIB_DESCRIPTION | awk -F "\"" '{print $2}') $(cat /etc/lsb-release | grep DISTRIB_RELEASE | awk -F "\"" '{print $2}')"
elif [ -n "$(cat /etc/lsb-release | grep DISTRIB_DESCRIPTION | awk -F "\"" '{print $2}')" ]; then
distro="$(cat /etc/lsb-release | grep DISTRIB_DESCRIPTION | awk -F "\"" '{print $2}')"
fi
fi
fi
if [ -f /etc/os-release ] && [ "$system_type" = "linux" ]; then
2024-11-12 17:53:59 +00:00
if [ "$hasawk" -eq 1 ] && [ -z "$distro" ]; then
if [ -n "$(cat /etc/os-release | grep PRETTY_NAME | awk -F "\"" '{print $2}')" ]; then
distro="$(cat /etc/os-release | grep PRETTY_NAME | awk -F "\"" '{print $2}')"
elif [ -n "$(cat /etc/os-release | grep NAME | awk -F "\"" '{print $2}')" ]; then
distro="$(cat /etc/os-release | grep NAME | awk -F "\"" '{print $2}')"
fi
fi
fi
if [ "$subtype" = "chumby" ]; then
2024-11-12 17:53:59 +00:00
distro="Chumby firmware $(chumby_version -s)"
if [ "$hasawk" -eq 1 ]; then
if [ "$(chumby_version -h | awk -F "." '{print $1}')" = "3" ]; then
machine="Chumby Classic"
elif [ "$(chumby_version -h | awk -F "." '{print $1}')" = "10" ]; then
machine="Chumby One"
elif [ "$(chumby_version -h | awk -F "." '{print $1}')" = "7" ]; then
machine="Insignia Infocast 3.5\""
else
machine="Chumby-enabled device"
fi
fi
fi
if [ "$subtype" = "proxmox" ]; then
2024-11-12 17:53:59 +00:00
if [ "$hasawk" -eq 1 ]; then
if [ -n "$(pveversion | awk -F "/" '{ print $2 }')" ]; then
distro="Proxmox VE $(pveversion | awk -F "/" '{ print $2 }')"
fi
fi
fi
2024-11-13 16:23:19 +00:00
if [ "$subtype" = "android" ]; then
if [ -n "$(getprop ro.product.manufacturer)$(getprop ro.product.model)" ]; then
machine="$(getprop ro.product.manufacturer) $(getprop ro.product.model)"
fi
if [ -n "$(getprop ro.build.version.release)" ]; then
distro="Android $(getprop ro.build.version.release)"
fi
2024-11-13 16:23:19 +00:00
fi
if [ "$system_type" = "openbsd" ]; then
2024-11-12 17:53:59 +00:00
if [ "$hasawk" -eq 1 ]; then
distro="revision $(sysctl kern.osrevision | awk -F "=" '{print $2}')"
machine="$(sysctl hw.vendor | awk -F "=" '{print $2}') $(sysctl hw.product | awk -F "=" '{print $2}')"
fi
fi
if [ "$system_type" = "freebsd" ]; then
2024-11-12 17:53:59 +00:00
if [ "$hasawk" -eq 1 ]; then
distro="revision $(sysctl kern.osrevision | awk -F ": " '{print $2}')"
fi
machine="$(kenv smbios.system.maker) $(kenv smbios.system.product)"
fi
if [ "$system_type" = "netbsd" ]; then
2024-11-12 17:53:59 +00:00
if [ "$hasawk" -eq 1 ]; then
distro="revision $(sysctl kern.osrevision | awk -F " = " '{print $2}')"
machine="$(sysctl machdep.dmi.system-vendor | awk -F " = " '{print $2}') $(sysctl machdep.dmi.system-product | awk -F " = " '{print $2}')"
fi
fi
if [ "$system_type" = "haiku" ]; then
2024-11-12 17:53:59 +00:00
distro="$(uname -v)"
fi
if [ "$system_type" = "linux" ] && [ -z "$machine" ]; then
2024-11-12 17:53:59 +00:00
if [ -f "/sys/devices/virtual/dmi/id/product_name" ]; then
machine="$(cat /sys/devices/virtual/dmi/id/product_name)"
fi
if [ -f "/sys/devices/virtual/dmi/id/sys_vendor" ]; then
machine="$(cat /sys/devices/virtual/dmi/id/sys_vendor) $machine"
fi
fi
2024-11-12 19:21:07 +00:00
if [ "$system_type" = "windows" ] && [ -z "$machine"] && [ "$hassed" -eq 1 ]; then
2024-11-12 19:32:30 +00:00
if [ "$hasawk" -eq 1 ]; then
2024-11-12 19:33:32 +00:00
distro="$(systeminfo.exe 2>/dev/null | grep -v "BIOS" | grep "OS Version" | awk -F ":" '{print $2}' | tr -s " ")"
2024-11-12 19:32:30 +00:00
fi
2024-11-13 16:06:10 +00:00
if [ "$subtype" = "cygwin" ]; then
machine=0
else
machine="$(wmic.exe computersystem get Manufacturer | sed -n 2p | head -n 1 | tr -s " ")$(wmic.exe computersystem get Model | sed -n 2p | head -n 1)"
fi
fi