diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dd9476b4..dc7471fae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * Add Floflis (dylanaraps#2289) * Simple improvements for Solaris (dylanaraps#2293) * Add Salient OS (dylanaraps#2301) +* Fix Chrome OS (dylanaraps#2305) # 1.2 * Update Makefile & CONTRIBUTING.md (dylanaraps#2245 & dylanaraps#2246) diff --git a/neofetch b/neofetch index 39bf2bb8e..dd8723691 100755 --- a/neofetch +++ b/neofetch @@ -1221,15 +1221,18 @@ get_distro() { # 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 [[ -f /etc/lsb-release && $(< /etc/lsb-release) == *CHROMEOS* ]]; then + elif grep -q CHROMEOS /etc/lsb-release; then 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" ;; - tiny) distro="Chrome OS" ;; - *) distro="Chrome OS $distro" ;; + on) distro+=" [Chrome OS $cros_version]" ;; + tiny) distro="Chrome OS $cros_version" ;; + *) distro+="Chrome OS $cros_version" ;; esac fi