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 {{{
|
# 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 () {
|
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
|
# Get architecture
|
||||||
[ "$os_arch" == "on" ] && \
|
[ "$os_arch" == "on" ] && \
|
||||||
distro+=" $(uname -m)"
|
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 {{{
|
# Call Functions and Finish Up {{{
|
||||||
|
|
||||||
|
|
||||||
# Restore cursor and clear screen on ctrl+c
|
# Restore cursor and clear screen on ctrl+c
|
||||||
trap 'printf "\033[?25h"; clear; exit' 2
|
trap 'printf "\033[?25h"; clear; exit' 2
|
||||||
|
|
||||||
# Get colors / bold
|
getdistro
|
||||||
colors
|
colors
|
||||||
bold
|
bold
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue