diff --git a/neofetch b/neofetch index 5a1038e4..f40e07c9 100755 --- a/neofetch +++ b/neofetch @@ -1187,6 +1187,12 @@ get_distro() { elif [[ -f /etc/vzlinux-release ]]; then distro='VzLinux' + # Chrome OS doesn't conform to the /etc/*-release standard. + # While the file is a series of variables they can't be sourced + # by the shell since the values aren't quoted. + elif grep -q CHROMEOS /etc/lsb-release; then + distro='Chrome OS' + elif type -p guix >/dev/null; then case $distro_shorthand in on|tiny) distro="Guix System" ;; @@ -1255,11 +1261,14 @@ get_distro() { distro='Chrome OS' elif [[ $(< /proc/version) == *chrome-bot* || -f /dev/cros_ec ]]; then + # gets chrome os version from /etc/lsb-release. + # totally not written by chatgpt :trolley: + cros_version=$(grep -oE 'CHROMEOS_RELEASE_CHROME_MILESTONE=([0-9]+)' /etc/lsb-release | cut -d= -f2) [[ $distro != *Chrome* ]] && case $distro_shorthand in - on) distro="Chrome OS $distro" ;; + on) distro="Chrome OS $cros_version" ;; tiny) distro="Chrome OS" ;; - *) distro="Chrome OS $distro" ;; + *) distro="Chrome OS $cros_version $distro" ;; esac fi