46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/usr/bin/bash
 | |
| 
 | |
| ### Set up package lists
 | |
| pacman -Slq > /tmp/packages &
 | |
| 
 | |
| ### Help 
 | |
| Help() {
 | |
|    echo
 | |
|    echo "Use fzf to search and install with Pacman and Yay"
 | |
|    echo "Defaults to Pacman if no options passed"
 | |
|    echo
 | |
|    echo "Syntax: fpf -[y|h]"
 | |
|    echo
 | |
|    echo "options:"
 | |
|    echo
 | |
|    echo "y     Search and install with Yay"
 | |
|    echo
 | |
|    echo "h     Print this help screen."
 | |
|    echo
 | |
|    echo
 | |
| }
 | |
| 
 | |
| ### MAIN 
 | |
| while getopts ":yh" option; do
 | |
|    case $option in
 | |
| 
 | |
|       y) 
 | |
|         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
 | |
|         yay -Qq > /tmp/local_packages 
 | |
|         cat /tmp/packages /tmp/local_packages | sort | uniq > /tmp/all_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
 | |
|          exit;;
 | |
| 
 | |
|       h) Help
 | |
|          exit;;
 | |
| 
 | |
|      \?) echo "Error: Invalid option"
 | |
|          exit;;
 | |
| 
 | |
|    esac
 | |
| done
 | |
| 
 | |
| pacman -Qq > /tmp/local_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
 |