Merge pull request #217 from dylanaraps/distro_func
Moved getdistro to a seperate function take 2
This commit is contained in:
commit
695bd7401d
1 changed files with 68 additions and 74 deletions
142
neofetch
142
neofetch
|
@ -452,69 +452,77 @@ esac
|
|||
|
||||
# Distro {{{
|
||||
|
||||
case "$os" in
|
||||
"Linux" )
|
||||
if type -p lsb_release >/dev/null 2>&1; then
|
||||
distro="$(lsb_release -d 2>/dev/null | awk -F ':' '/Description/ {printf $2}')"
|
||||
distro=${distro/[[:space:]]}
|
||||
|
||||
elif type -p crux >/dev/null 2>&1; then
|
||||
distro="$(crux)"
|
||||
|
||||
else
|
||||
distro="$(awk -F 'NAME=' '/^NAME=/ {printf $2}' /etc/*ease)"
|
||||
distro=${distro//\"}
|
||||
|
||||
# Workaround for distros that store the value differently.
|
||||
[ -z "$distro" ] && distro="$(awk -F 'TAILS_PRODUCT_NAME="|"' '/^TAILS_PRODUCT_NAME=/ {printf $2}' /etc/*ease)"
|
||||
[ -z "$distro" ] && distro="$(awk '/BLAG/ {print $1; exit}' /etc/*ease)"
|
||||
fi
|
||||
;;
|
||||
|
||||
"Mac OS X")
|
||||
osx_version=$(sw_vers -productVersion)
|
||||
osx_build=$(sw_vers -buildVersion)
|
||||
|
||||
case "${osx_version%.*}" in
|
||||
"10.4") codename="Mac OS X Tiger" ;;
|
||||
"10.5") codename="Mac OS X Leopard" ;;
|
||||
"10.6") codename="Mac OS X Snow Leopard" ;;
|
||||
"10.7") codename="Mac OS X Lion" ;;
|
||||
"10.8") codename="OS X Mountain Lion" ;;
|
||||
"10.9") codename="OS X Mavericks" ;;
|
||||
"10.10") codename="OS X Yosemite" ;;
|
||||
"10.11") codename="OS X El Capitan" ;;
|
||||
*) codename="Mac OS X" ;;
|
||||
esac
|
||||
distro="$codename $osx_version $osx_build"
|
||||
;;
|
||||
|
||||
"OpenBSD")
|
||||
distro="OpenBSD"
|
||||
;;
|
||||
|
||||
"BSD")
|
||||
distro="$(uname -v)"
|
||||
distro=${distro%% *}
|
||||
;;
|
||||
|
||||
"Windows")
|
||||
distro="$(wmic os get Caption /value)"
|
||||
|
||||
# Strip crap from the output of wmic
|
||||
distro=${distro/Caption'='}
|
||||
distro=${distro//[[:space:]]/ }
|
||||
distro=${distro// }
|
||||
distro=${distro/Microsoft }
|
||||
;;
|
||||
esac
|
||||
distro=${distro//+( )/ }
|
||||
ascii_distro="$distro"
|
||||
|
||||
getdistro () {
|
||||
[ ! -z "$distro" ] && return
|
||||
|
||||
case "$os" in
|
||||
"Linux" )
|
||||
if type -p lsb_release >/dev/null 2>&1; then
|
||||
distro="$(lsb_release -d 2>/dev/null | awk -F ':' '/Description/ {printf $2}')"
|
||||
distro=${distro/[[:space:]]}
|
||||
|
||||
elif type -p crux >/dev/null 2>&1; then
|
||||
distro="$(crux)"
|
||||
|
||||
else
|
||||
distro="$(awk -F 'NAME=' '/^NAME=/ {printf $2}' /etc/*ease)"
|
||||
distro=${distro//\"}
|
||||
|
||||
# Workaround for distros that store the value differently.
|
||||
[ -z "$distro" ] && distro="$(awk -F 'TAILS_PRODUCT_NAME="|"' '/^TAILS_PRODUCT_NAME=/ {printf $2}' /etc/*ease)"
|
||||
[ -z "$distro" ] && distro="$(awk '/BLAG/ {print $1; exit}' /etc/*ease)"
|
||||
fi
|
||||
;;
|
||||
|
||||
"Mac OS X")
|
||||
osx_version=$(sw_vers -productVersion)
|
||||
osx_build=$(sw_vers -buildVersion)
|
||||
|
||||
case "${osx_version%.*}" in
|
||||
"10.4") codename="Mac OS X Tiger" ;;
|
||||
"10.5") codename="Mac OS X Leopard" ;;
|
||||
"10.6") codename="Mac OS X Snow Leopard" ;;
|
||||
"10.7") codename="Mac OS X Lion" ;;
|
||||
"10.8") codename="OS X Mountain Lion" ;;
|
||||
"10.9") codename="OS X Mavericks" ;;
|
||||
"10.10") codename="OS X Yosemite" ;;
|
||||
"10.11") codename="OS X El Capitan" ;;
|
||||
*) codename="Mac OS X" ;;
|
||||
esac
|
||||
distro="$codename $osx_version $osx_build"
|
||||
;;
|
||||
|
||||
"OpenBSD")
|
||||
distro="OpenBSD"
|
||||
;;
|
||||
|
||||
"BSD")
|
||||
distro="$(uname -v)"
|
||||
distro=${distro%% *}
|
||||
;;
|
||||
|
||||
"Windows")
|
||||
distro="$(wmic os get Caption /value)"
|
||||
|
||||
# Strip crap from the output of wmic
|
||||
distro=${distro/Caption'='}
|
||||
distro=${distro//[[:space:]]/ }
|
||||
distro=${distro// }
|
||||
distro=${distro/Microsoft }
|
||||
;;
|
||||
esac
|
||||
distro=${distro//+( )/ }
|
||||
ascii_distro="$distro"
|
||||
|
||||
# Get architecture
|
||||
[ "$os_arch" == "on" ] && \
|
||||
distro+=" $(uname -m)"
|
||||
|
||||
[ "$osx_codename" == "off" ] && \
|
||||
distro=${distro/${codename}/Mac OS X}
|
||||
|
||||
[ "$osx_buildversion" == "off" ] && \
|
||||
distro=${distro/ ${osx_build}}
|
||||
}
|
||||
|
||||
|
||||
|
@ -2886,27 +2894,13 @@ done
|
|||
# }}}
|
||||
|
||||
|
||||
# OS overides {{{
|
||||
|
||||
# Overide OS X codename
|
||||
case "$osx_codename" in
|
||||
"off") distro=${distro/${codename}/Mac OS X} ;;
|
||||
esac
|
||||
|
||||
case "$osx_buildversion" in
|
||||
"off") distro=${distro/ ${osx_build}} ;;
|
||||
esac
|
||||
|
||||
# }}}
|
||||
|
||||
|
||||
# Call Functions and Finish Up {{{
|
||||
|
||||
|
||||
# Restore cursor and clear screen on ctrl+c
|
||||
trap 'printf "\033[?25h"; clear; exit' 2
|
||||
|
||||
# Get colors / bold
|
||||
getdistro
|
||||
colors
|
||||
bold
|
||||
|
||||
|
|
Loading…
Reference in a new issue