40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# Script to easily remove packages without having to spell the whole package-name.
 | 
						|
 | 
						|
# Create the following alias to make removing packages even easier:
 | 
						|
# alias remove="sh /path/to/remove.sh"
 | 
						|
 | 
						|
# Now you can remove packages by using the following command:
 | 
						|
# remove $packagename
 | 
						|
 | 
						|
#!/bin/bash
 | 
						|
 | 
						|
# Query installed packages for the search term and create a variable from it
 | 
						|
pkgs=( $(pacman -Qq | grep $1) )
 | 
						|
 | 
						|
# Make it an array
 | 
						|
declare -a pkgs
 | 
						|
 | 
						|
# If array contains only one entry, remove immediately
 | 
						|
if [ ${#pkgs[@]} -eq 1 ]; then
 | 
						|
    # If installed, use yay to uninstall the selected package and all of it's dependecies and configuration files
 | 
						|
    if type yay >/dev/null 2>&1; then
 | 
						|
        yay -Rns $pkgs
 | 
						|
    else
 | 
						|
        # Else use pacman to uninstall the selected package and all of it's dependecies and configuration files
 | 
						|
        sudo pacman -Rns $pkgs
 | 
						|
    fi
 | 
						|
else
 | 
						|
    # Else select the right package from the array
 | 
						|
    select pkg in ${pkgs[@]}
 | 
						|
    do
 | 
						|
    break
 | 
						|
    done
 | 
						|
 | 
						|
    # If installed, use yay to uninstall the selected package and all of it's dependecies and configuration files
 | 
						|
    if type yay >/dev/null 2>&1; then
 | 
						|
        yay -Rns $pkgs
 | 
						|
    else
 | 
						|
        # Else use pacman to uninstall the selected package and all of it's dependecies and configuration files
 | 
						|
        sudo pacman -Rns $pkgs
 | 
						|
    fi
 | 
						|
fi |