work in progress

This commit is contained in:
Eric Lay 2020-06-21 15:59:33 -05:00
parent d553cc5757
commit ad658b1604
1 changed files with 33 additions and 31 deletions

64
fpf
View File

@ -1,45 +1,47 @@
#!/usr/bin/bash #!/usr/bin/bash
### Set up package lists ### Set up package lists
pacman -Slq > /tmp/packages & pacman -Slq >/dev/null 2>&1 /tmp/packages
### Help ### Help
Help() { Help() {
echo echo
echo "Use fzf to search and install with Pacman and Yay" echo "Use fzf to search and install with Pacman and Yay"
echo "Defaults to Pacman if no options passed" echo "Defaults to Pacman if no options passed"
echo echo
echo "Syntax: fpf -[y|h]" echo "Syntax: fpf -[y|h]"
echo echo
echo "options:" echo "options:"
echo echo
echo "y Search and install with Yay" echo "y Search and install with Yay"
echo echo
echo "h Print this help screen." echo "h Print this help screen."
echo echo
echo echo
} }
### MAIN ### MAIN
while getopts ":yh" option; do while getopts ":yh" option; do
case $option in case $option in
y) #Get AUR package database, remove unwanted lines, preview database and hand off to yay for install
y) clear
wget -P /tmp/aur/ https://aur.archlinux.org/packages.gz >/dev/null 2>&1 && gunzip -f /tmp/aur/packages.gz && cat /tmp/aur/packages >> /tmp/packages echo -e "Syncing AUR package database..."
yay -Qq > /tmp/local_packages wget -P /tmp/aur/ https://aur.archlinux.org/packages.gz >/dev/null 2>&1 && gunzip -f /tmp/aur/packages.gz
cat /tmp/packages /tmp/local_packages | sort | uniq > /tmp/all_packages echo "$(tail -n +2 /tmp/aur/packages)" > /tmp/aur/packages
cat /tmp/packages | awk '{print $2($4=="" ? "" : " *")}'| fzf -e -m --preview 'cat <(yay -Si {1}) <(yay -Fl {1} | awk "{print \$2}")' --layout=reverse | xargs -ro -n1 yay -S cat /tmp/aur/packages | fzf -e -m --preview 'cat <(yay -Si {1}) <(yay -Fl {1} | awk "{print \$2}")' --layout=reverse --prompt='Select packages to install (use TAB to toggle selection) >' | xargs -ro -n1 yay -S
exit;; clear
return;;
h) Help h) #Usage // Help
exit;; Help
;;
\?) echo "Error: Invalid option" *) #Error catching
exit;; echo "Invalid Usage"
sleep 2
esac Help
;;
esac
done done
pacman -Qq > /tmp/local_packages pacman -Qq > /tmp/local_packages
cat /tmp/packages /tmp/local_packages | sort | uniq > /tmp/all_packages cat /tmp/packages /tmp/local_packages | sort | uniq > /tmp/all_packages
cat /tmp/all_packages | awk '{print $2($4=="" ? "" : " *")}'| fzf -e -m --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' --layout=reverse | xargs -ro -n1 sudo pacman -S cat /tmp/all_packages |fzf -e -m --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' --layout=reverse --prompt='Select packages to install (use TAB to toggle selection) >' | xargs -ro -n1 sudo pacman -S