if status is-interactive function handle_linux # If we have pacman if command -sq pacman alias lspkg 'pacman -Q --color=always | rawpager' alias lspkgi 'pacman -Qett --color=always | rawpager' alias lspkgo 'pacman -Qdt' alias pkginfo 'pacman -Qi' alias pkgsearch 'pacman -Ss' alias whatpkg 'pacman -Qo' if fish_is_root_user alias pkgadd 'pacman -S' alias pkgrm 'pacman -Rs' alias pkgupd 'pacman -Syyu' alias pkgclean 'paccache -k 0 -r' alias confnew 'find /etc -type f -name "*.pacnew"' else alias pkgadd 'sudo pacman -S' alias pkgrm 'sudo pacman -Rs' alias pkgupd 'sudo pacman -Syyu' alias pkgclean 'sudo paccache -k 0 -r' alias confnew 'sudo find /etc -type f -name "*.pacnew"' end function is-installed pacman -Qq $argv &>/dev/null end end # If we have apk end function handle_macos # If we have Homebrew if command -sq brew alias lspkg 'brew list ; echo ; brew info' alias pkginfo 'brew info' alias pkgsearch 'brew search' alias pkgadd 'brew install' alias pkgrm 'brew uninstall' alias pkgupd 'brew update ; echo ; brew upgrade' end # If we have MacPorts if command -sq port alias lspkg 'port installed' alias lspkgo 'port list rleaves' alias pkginfo 'port info' alias pkgsearch 'port search' if fish_is_root_user alias pkgadd 'port install' alias pkgrm 'port uninstall' alias pkgupd 'port upgrade outdated' else alias pkgadd 'sudo port install' alias pkgrm 'sudo port uninstall' alias pkgupd 'sudo port upgrade outdated' end end end function handle_openbsd alias lspkg 'pkg_info -A' alias lspkgo 'pkg_info -t' alias pkginfo 'pkg_info' alias pkgsearch 'pkg_info -Q' if fish_is_root_user alias pkgadd 'pkg_add' alias pkgrm 'pkg_delete' alias pkgupd 'pkg_add -u' else alias pkgadd 'doas pkg_add' alias pkgrm 'doas pkg_delete' alias pkgupd 'doas pkg_add -u' end end function handle_netbsd alias lspkg 'pkgin list' alias pkginfo 'pkgin pkg-descr' alias pkgsearch 'pkgin search' if fish_is_root_user alias pkgadd 'pkgin install' alias pkgrm 'pkgin remove' alias pkgupd 'pkgin upgrade' alias pkgclean 'pkgin clean' else alias pkgadd 'doas pkgin install' alias pkgrm 'doas pkgin remove' alias pkgupd 'doas pkgin upgrade' alias pkgclean 'doas pkgin clean' end end function handle_freebsd alias pkginfo 'pkg info' if fish_is_root_user alias pkgadd 'pkg install' alias pkgrm 'pkg remove' alias pkgupd 'pkg upgrade' alias pkgclean 'pkg clean -a' else alias pkgadd 'doas pkg install' alias pkgrm 'doas pkg remove' alias pkgupd 'doas pkg upgrade' alias pkgclean 'doas pkg clean -a' end end switch (uname) case 'Linux' handle_linux case 'Darwin' handle_macos case 'OpenBSD' handle_openbsd case 'NetBSD' handle_netbsd case 'FreeBSD' handle_freebsd end end