packages: refactor

master
Dylan Araps 8 years ago
parent ffcf82d10d
commit 4bc2a23a46
  1. 170
      neofetch
  2. 5
      neofetch.1

@ -144,6 +144,21 @@ os_arch="on"
uptime_shorthand="on" uptime_shorthand="on"
# Packages
# Show/Hide Package Manager names.
#
# Default: 'on'
# Values: 'on', 'off'
# Flag: --package_manager
#
# Example:
# on: '900 (pacman, apt)'
# off: '900'
package_manager="on"
# Shell # Shell
@ -1249,135 +1264,86 @@ get_uptime() {
} }
get_packages() { get_packages() {
pkgs() { type -p "$1" >/dev/null && { ((packages+="$2")); managers+="$_, "; }; }
case "$os" in case "$os" in
"Linux" | "BSD" | "iPhone OS" | "Solaris") "Linux" | "BSD" | "iPhone OS" | "Solaris")
type -p pacman-key >/dev/null && \ pkgs "pacman-key" "$(pacman -Qq --color never | wc -l)"
packages="$(pacman -Qq --color never | wc -l)" pkgs "dpkg" "$(dpkg --get-selections | grep -cv deinstall$)"
pkgs "rpm" "$(rpm -qa | wc -l)"
type -p dpkg >/dev/null && \ pkgs "xbps-query" "$(xbps-query -l | wc -l)"
((packages+=$(dpkg --get-selections | grep -cv deinstall$))) pkgs "apk" "$(apk info | wc -l)"
pkgs "opkg" "$(opkg list-installed | wc -l)"
type -p pkgtool >/dev/null && \ pkgs "pacman-g2" "$(pacman-g2 -Q | wc -l)"
((packages+=$(ls -1 /var/log/packages | wc -l))) pkgs "lvu" "$(lvu installed | wc -l)"
pkgs "tce-status" "$(tce-status -i | wc -l)"
type -p rpm >/dev/null && \ pkgs "pkg_info" "$(pkg_info | wc -l)"
((packages+=$(rpm -qa | wc -l))) pkgs "tazpkg" "$(tazpkg list | wc -l) - 6"
pkgs "sorcery" "$(gaze installed | wc -l)"
type -p xbps-query >/dev/null && \ pkgs "alps" "$(alps showinstalled | wc -l)"
((packages+=$(xbps-query -l | wc -l))) pkgs "butch" "$(butch list | wc -l)"
pkgs "kpm-pkg" "$(kpm --get-selections | grep -cv deinstall$)"
[[ "$os" != "Linux" ]] && type -p pkginfo >/dev/null && \ pkgs "emerge" "$(ls -d /var/db/pkg/*/* | wc -l)"
((packages+=$(pkginfo -i | wc -l))) pkgs "nix-env" "$(ls -d -1 /nix/store/*/ | wc -l)"
pkgs "guix" "$(ls -d -1 /gnu/store/*/ | wc -l)"
type -p emerge >/dev/null && \ pkgs "Compile" "$(ls -d -1 /Programs/*/ | wc -l)"
((packages+=$(ls -d /var/db/pkg/*/* | wc -l))) pkgs "eopkg" "$(ls -1 /var/lib/eopkg/package | wc -l)"
pkgs "crew" "$(ls -l /usr/local/etc/crew/meta/*.filelist | wc -l)"
type -p nix-env >/dev/null && \ pkgs "pkgtool" "$(ls -1 /var/log/packages | wc -l)"
((packages+=$(ls -d -1 /nix/store/*/ | wc -l))) pkgs "cave" "$(ls -d -1 /var/db/paludis/repositories/cross-installed/*/data/* \
/var/db/paludis/repositories/installed/data/* | wc -l)"
type -p guix >/dev/null && \
((packages+=$(ls -d -1 /gnu/store/*/ | wc -l)))
type -p apk >/dev/null && \
((packages+=$(apk info | wc -l)))
type -p opkg >/dev/null && \
((packages+=$(opkg list-installed | wc -l)))
type -p pacman-g2 >/dev/null && \
((packages+=$(pacman-g2 -Q | wc -l)))
type -p lvu >/dev/null && \
((packages+=$(lvu installed | wc -l)))
type -p tce-status >/dev/null && \
((packages+=$(tce-status -i | wc -l)))
type -p Compile >/dev/null && \
((packages+=$(ls -d -1 /Programs/*/ | wc -l)))
type -p eopkg >/dev/null && \
((packages+=$(ls -1 /var/lib/eopkg/package | wc -l)))
type -p pkg_info >/dev/null && \ case "$kernel_name" in
((packages+=$(pkg_info | wc -l))) "FreeBSD") pkgs "pkg" "$(pkg info | wc -l)" ;;
"Solaris") pkgs "pkginfo" "$(pkginfo -i | wc -l)" ;;
type -p crew >/dev/null && \
((packages+=$(ls -l /usr/local/etc/crew/meta/*.filelist | wc -l)))
type -p tazpkg >/dev/null && \
((packages+=$(tazpkg list | wc -l) - 6))
type -p sorcery >/dev/null && \
((packages+=$(gaze installed | wc -l)))
type -p alps >/dev/null && \
((packages+=$(alps showinstalled | wc -l)))
type -p kpt >/dev/null && \
type -p kpm >/dev/null && \
((packages+=$(kpm --get-selections | grep -cv deinstall$)))
if type -p cave >/dev/null; then
package_dir=(/var/db/paludis/repositories/{cross-installed/*,installed}/data/*)
((packages+=$(ls -d -1 "${package_dir[@]}" | wc -l)))
fi
type -p butch >/dev/null && \ *)
((packages+=$(butch list | wc -l))) pkgs "pkg" "$(ls -1 /var/db/pkg | wc -l)"
if type -p pkg >/dev/null; then ((packages == 0)) && \
case "$kernel_name" in pkgs "pkg" "$(pkg list | wc -l)"
"FreeBSD") ((packages+=$(pkg info | wc -l))) ;; ;;
*) esac
((packages+=$(ls -1 /var/db/pkg | wc -l)))
((packages == 0)) && ((packages+=$(pkg list | wc -l)))
esac
fi
;; ;;
"Mac OS X" | "MINIX") "Mac OS X" | "MINIX")
type -p port >/dev/null && \ pkgs "port" "$(port installed | wc -l) - 1)"
((packages+=$(port installed | wc -l) - 1)) pkgs "brew" "$(find /usr/local/Cellar -maxdepth 1 | wc -l) - 1)"
pkgs "pkgin" "$(pkgin list | wc -l)"
type -p brew >/dev/null && \ ;;
((packages+=$(find /usr/local/Cellar -maxdepth 1 | wc -l) - 1))
type -p pkgin >/dev/null && \ "AIX"| "FreeMiNT")
((packages+=$(pkgin list | wc -l))) pkgs "lslpp" "$(lslpp -J -l -q | grep -cv '^#')"
pkgs "rpm" "$(rpm -qa | wc -l)"
;; ;;
"Windows") "Windows")
case "$kernel_name" in case "$kernel_name" in
"CYGWIN"*) packages="$(cygcheck -cd | wc -l)" ;; "CYGWIN"*) pkgs "cygcheck" "$(cygcheck -cd | wc -l)" ;;
"MSYS"*) packages="$(pacman -Qq --color never | wc -l)" "MSYS"*) pkgs "pacman" "$(pacman -Qq --color never | wc -l)" ;;
esac esac
# Count chocolatey packages. # Count chocolatey packages.
[[ -d "/cygdrive/c/ProgramData/chocolatey/lib" ]] && \ [[ -d "/cygdrive/c/ProgramData/chocolatey/lib" ]] && \
((packages+=$(ls -1 /cygdrive/c/ProgramData/chocolatey/lib | wc -l))) pkgs ":" "$(ls -1 /cygdrive/c/ProgramData/chocolatey/lib | wc -l)"
;; ;;
"Haiku") "Haiku")
packages="$(ls -1 /boot/system/package-links | wc -l)" packages="$(ls -1 /boot/system/package-links | wc -l)"
;; ;;
"AIX")
packages="$(lslpp -J -l -q | grep -cv '^#')"
((packages+=$(rpm -qa | wc -l)))
;;
"IRIX") "IRIX")
packages="$(($(versions -b | wc -l)-3))" packages="$(($(versions -b | wc -l)-3))"
;; ;;
"FreeMiNT")
type -p rpm >/dev/null && \
packages="$(rpm -qa | wc -l)"
;;
esac esac
((packages == 0)) && unset packages if ((packages == 0)); then
unset packages
elif [[ "$package_manager" == "on" ]]; then
managers="${managers/pacman-key/pacman}"
packages+=" (${managers::-2})"
fi
} }
get_shell() { get_shell() {
@ -4398,6 +4364,7 @@ INFO:
NOTE: You can supply multiple args. eg. 'neofetch --disable cpu gpu' NOTE: You can supply multiple args. eg. 'neofetch --disable cpu gpu'
--package_manager on/off Hide/Show Package Manager names.
--os_arch on/off Hide/Show OS architecture. --os_arch on/off Hide/Show OS architecture.
--speed_type type Change the type of cpu speed to display. --speed_type type Change the type of cpu speed to display.
Possible values: current, min, max, bios, Possible values: current, min, max, bios,
@ -4593,6 +4560,7 @@ get_args() {
while [[ "$1" ]]; do while [[ "$1" ]]; do
case "$1" in case "$1" in
# Info # Info
"--package_manager") package_manager="$2" ;;
"--os_arch") os_arch="$2" ;; "--os_arch") os_arch="$2" ;;
"--cpu_cores") cpu_cores="$2" ;; "--cpu_cores") cpu_cores="$2" ;;
"--cpu_speed") cpu_speed="$2" ;; "--cpu_speed") cpu_speed="$2" ;;

@ -1,5 +1,5 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6. .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.6.
.TH NEOFETCH "1" "May 2018" "Neofetch 4.0.3" "User Commands" .TH NEOFETCH "1" "June 2018" "Neofetch 4.0.3" "User Commands"
.SH NAME .SH NAME
Neofetch \- A fast, highly customizable system info script Neofetch \- A fast, highly customizable system info script
.SH SYNOPSIS .SH SYNOPSIS
@ -22,6 +22,9 @@ For example: 'info "Memory" memory' would be '\-\-disable memory'
.IP .IP
NOTE: You can supply multiple args. eg. 'neofetch \fB\-\-disable\fR cpu gpu' NOTE: You can supply multiple args. eg. 'neofetch \fB\-\-disable\fR cpu gpu'
.TP .TP
\fB\-\-package_manager\fR on/off
Hide/Show Package Manager names.
.TP
\fB\-\-os_arch\fR on/off \fB\-\-os_arch\fR on/off
Hide/Show OS architecture. Hide/Show OS architecture.
.TP .TP

Loading…
Cancel
Save