5 Commits

2 changed files with 57 additions and 20 deletions

View File

@@ -1,15 +1,24 @@
# pman.sh
A `pacman` helper script, because you forget the stupid flags
A `pacman` helper script, because you forget all the stupid flags
## Usage / Features:
- aur/yay
- search
- info
- localinfo
- provides
- providefiles
- installed
- install
- update
- upgradable
- upgrade
- install
- provides
- remove
- purge
- clean
- reflector
- config
`config` is the only flag that is not appended to `pacman`, instead it resolves to `nano /etc/pacman.conf`.
`config` is the only flag that is not appended to `pacman` (or `yay`), instead it resolves to `nano /etc/pacman.conf`.
`sudo` gets prepended automatically if the command requires it and if installed - no, there is no check if your user is in the `sudo` group, if you download this script you should already be, or know you can only use part of this utility

60
pman.sh
View File

@@ -36,6 +36,15 @@ elif [ "$command_args" = "config" ]; then
command="nano"
command_args="/etc/pacman.conf"
su_needed=true
elif [ "$command_args" = "reflector" ]; then
command="reflector"
command_args=$(cat /etc/pacman.d/mirrorlist 2>/dev/null | grep -e "With.*reflector" | sed 's/#.*reflector //')
# Check if reflector was actually used to generate the mirrorlist
if [ "$command_args" = "" ]; then
echo "Error: reflector was not used to generate mirrorlist or mirrorlist location differ from standard"
exit 1
fi
su_needed=true
fi
# If command is empty, command is pacman
@@ -64,6 +73,15 @@ case "$command_args" in
su_needed=false
command_args="-F"
;;
"providefiles")
# Update the cache
su_needed=true
command_args="-Fy"
execute_command "${@}"
su_needed=false
command_args="-Fl"
;;
"installed")
command_args="-Q"
;;
@@ -78,6 +96,13 @@ case "$command_args" in
if [ "$command" = "pacman" ]; then
su_needed=true
fi
execute_command "${@}"
su_needed=false
command_args="-Qu"
echo
echo "$(execute_command "${@}" | wc -l) packages are available for update"
exit 0
;;
"upgradable")
command_args="-Qu"
@@ -108,26 +133,29 @@ case "$command_args" in
;;
*)
if [ "$more_arguments" = "true" ]; then
echo "Invalid command: \"$command $command_args\""
echo "Invalid command: \"$command_args\""
echo
echo "Usage: pman <command> [args...]"
echo "Available commands:"
echo " yay (aur) - yay | invoke yay "
echo " yay (aur) - yay | invoke yay "
echo " (aur packages - all the normal operations except config are available)"
echo " aur (yay) - yay | same as \"yay\""
echo " search - pacman -Ss | search packages"
echo " info - pacman -Si | show package information"
echo " localinfo - pacman -Qi | show local package information"
echo " provides - pacman -F | list packages that provide file"
echo " installed - pacman -Q | list installed packages"
echo " install - pacman -S | install packages"
echo " update - pacman -Sy | updates the repositories"
echo " upgradable - pacman -Qu | list available upgrades"
echo " upgrade - pacman -Syu | upgrades your system"
echo " remove - pacman -Rs | remove packages & dependencies"
echo " purge - pacman -Rns | remove packages, dependencies & conf"
echo " clean - pacman -Scc | remove all package files & trash"
echo " config - /etc/pacman.conf | edits pacman configuration"
echo " aur (yay) - yay | same as \"yay\""
echo " search - pacman -Ss | search packages"
echo " info - pacman -Si | show package information"
echo " localinfo - pacman -Qi | show local package information"
echo " provides - pacman -F | list packages that provide file"
echo " providefiles - pacman -Fl | list files provided by package"
echo " installed - pacman -Q | list installed packages"
echo " install - pacman -S | install packages"
echo " update - pacman -Sy | updates the repositories"
echo " upgradable - pacman -Qu | list available upgrades"
echo " upgrade - pacman -Syu | upgrades your system"
echo " remove - pacman -Rs | remove packages & dependencies"
echo " purge - pacman -Rns | remove packages, dependencies & conf"
echo " clean - pacman -Scc | remove all package files & trash"
echo " reflector - mirrorlist | refresh the mirrorlist with reflector (if used)"
echo " (do not use if file location differ from default /etc/pacman.d/mirrorlist)"
echo " config - /etc/pacman.conf | edits pacman configuration"
exit 1
fi
;;