diff --git a/README.md b/README.md index 8d9b271..0491f21 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,14 @@ abbiefetch is a POSIX compliant fetch script intended to be as portable as possi ## Compatibility abbiefetch will attempt to gather as much information as possible on systems that don't have full compatibility and will provide you with a system type (and sometimes a subtype) to let you know what abbiefetch thinks your computer is running. -| Type string | Kernel | System | +| Type string | System type | Subtype | Support since | | - | - | - | -| `unknown` | Unknown kernel | | -| `linux` | Linux | | -| `linux/chumby` | Linux | Chumby internet appliances | -| `linux/proxmox` | Linux | Proxmox VE host | -| `linux/rpi` | Linux | Raspberry Pi single board computer | -| `openbsd` | OpenBSD | | +| `unknown` | Unknown kernel | | | +| `linux` | Linux | | 1.0.0 | +| `linux/chumby` | Linux | Chumby internet appliances | 1.0.0 | +| `linux/proxmox` | Linux | Proxmox VE host | 1.0.0 | +| `linux/rpi` | Linux | Raspberry Pi single board computer | 1.0.0 | +| `openbsd` | OpenBSD | | 1.0.0 | +| `netbsd` | NetBSD | | 1.1.0 | +| `freebsd` | FreeBSD | | 1.1.0 | +| `haiku` | Haiku | | 1.1.0 | diff --git a/abbiefetch b/abbiefetch index 5ca28f6..a45fda7 100755 --- a/abbiefetch +++ b/abbiefetch @@ -35,27 +35,34 @@ if [ "$?" -eq 0 ]; then hassed=1 fi -command -v chumby_version >>/dev/null -if [ "$?" -eq 0 ] && [ "$system_type" = "unknown" ]; then - system_type="linux" - subtype="chumby" -fi -command -v raspi-config >>/dev/null -if [ "$?" -eq 0 ] && [ "$system_type" = "unknown" ]; then - system_type="linux" - subtype="rpi" -fi -command -v pveversion >>/dev/null -if [ "$?" -eq 0 ] && [ "$system_type" = "unknown" ]; then - system_type="linux" - subtype="proxmox" -fi + if [ "$(uname -s)" = "Linux" ] && [ "$system_type" = "unknown" ]; then system_type="linux" + command -v chumby_version >>/dev/null + if [ "$?" -eq 0 ] && [ "$subtype" = "none" ]; then + subtype="chumby" + fi + command -v raspi-config >>/dev/null + if [ "$?" -eq 0 ] && [ "$subtype" = "none" ]; then + subtype="rpi" + fi + command -v pveversion >>/dev/null + if [ "$?" -eq 0 ] && [ "$subtype" = "none" ]; then + subtype="proxmox" + fi fi if [ "$(uname -s)" = "OpenBSD" ] && [ "$system_type" = "unknown" ]; then system_type="openbsd" fi +if [ "$(uname -s)" = "FreeBSD" ] && [ "$system_type" = "unknown" ]; then + system_type="freebsd" +fi +if [ "$(uname -s)" = "NetBSD" ] && [ "$system_type" = "unknown" ]; then + system_type="netbsd" +fi +if [ "$(uname -s)" = "Haiku" ] && [ "$system_type" = "unknown" ]; then + system_type="haiku" +fi if [ "$hashostname" -eq 1 ]; then hostname="$(hostname)" @@ -70,7 +77,15 @@ fi if [ "$hasawk" -eq 1 ] && [ $system_type = "openbsd" ] && [ -z "$processor" ]; then processor="$(sysctl hw.model | awk -F "=" '{print $2}')" fi - +if [ "$hasawk" -eq 1 ] && [ $system_type = "freebsd" ] && [ -z "$processor" ]; then + processor="$(sysctl hw.model | awk -F ": " '{print $2}')" +fi +if [ "$hasawk" -eq 1 ] && [ $system_type = "netbsd" ] && [ -z "$processor" ]; then + processor="$(sysctl machdep.cpu_brand | awk -F " = " '{print $2}')" +fi +if [ "$hasawk" -eq 1 ] && [ $system_type = "haiku" ] && [ -z "$processor" ]; then + processor="$(sysinfo | grep "CPU #0" | awk -F "\"" '{ print $2 }')" +fi if [ "$hasawk" -eq 1 ] && [ $system_type = "linux" ] && [ -z "$processor" ]; then if [ -n "$(cat /proc/cpuinfo | grep "model name" | head -n 1 | awk -F ": " '{print $2}')" ]; then processor="$(cat /proc/cpuinfo | grep "model name" | head -n 1 | awk -F ": " '{print $2}')" @@ -98,8 +113,8 @@ if [ -n "$(uname -s)" ] && [ -z "$kernel" ]; then fi if [ "$hasglxinfo" -eq 1 ] && [ "$hasawk" -eq 1 ] && [ -z "$graphics" ]; then - if [ -n "$(glxinfo | grep "OpenGL renderer string" | awk -F ": " '{print $2}' | awk -F "(" '{print $1}')" ]; then - graphics="$(glxinfo | grep "OpenGL renderer string" | awk -F ": " '{print $2}' | awk -F "(" '{print $1}')" + if [ -n "$(glxinfo 2>/dev/null | grep "OpenGL renderer string" | awk -F ": " '{print $2}' | awk -F "(" '{print $1}')" ]; then + graphics="$(glxinfo 2>/dev/null | grep "OpenGL renderer string" | awk -F ": " '{print $2}' | awk -F "(" '{print $1}')" fi fi if [ "$haslspci" -eq 1 ] && [ "$hasawk" -eq 1 ] && [ -z "$graphics" ]; then @@ -126,7 +141,6 @@ if [ -f /etc/os-release ] && [ $system_type = "linux" ]; then fi fi fi - if [ $subtype = "chumby" ]; then distro="Chumby firmware $(chumby_version -s)" if [ "$hasawk" -eq 1 ]; then @@ -141,7 +155,6 @@ if [ $subtype = "chumby" ]; then fi fi fi - if [ $subtype = "proxmox" ]; then if [ "$hasawk" -eq 1 ]; then if [ -n "$(pveversion | awk -F "/" '{ print $2 }')" ]; then @@ -149,13 +162,27 @@ if [ $subtype = "proxmox" ]; then fi fi fi - if [ $system_type = "openbsd" ]; then if [ "$hasawk" -eq 1 ]; then - distro="$(sysctl kern.osrevision | awk -F "=" '{print $2}')" + 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