abbiefetch/distro_machine_detection.7
2024-11-12 19:33:32 +00:00

76 lines
3.3 KiB
Groff

if [ -f /etc/lsb-release ] && [ "$system_type" = "linux" ]; then
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
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
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
if [ "$hasawk" -eq 1 ]; then
if [ -n "$(pveversion | awk -F "/" '{ print $2 }')" ]; then
distro="Proxmox VE $(pveversion | awk -F "/" '{ print $2 }')"
fi
fi
fi
if [ "$system_type" = "openbsd" ]; then
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
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
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
distro="$(uname -v)"
fi
if [ "$system_type" = "linux" ] && [ -z "$machine" ]; then
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
if [ "$system_type" = "windows" ] && [ -z "$machine"] && [ "$hassed" -eq 1 ]; then
if [ "$hasawk" -eq 1 ]; then
distro="$(systeminfo.exe 2>/dev/null | grep -v "BIOS" | grep "OS Version" | awk -F ":" '{print $2}' | tr -s " ")"
fi
machine="$(wmic.exe computersystem get Manufacturer,Model | sed -n 2p | head -n 1)"
fi