Some Tools I Use

2023-11-24

This is a brief list of software I use every day.

One way to find excellent free software is by perusing your package manager's catalog. I usually like to invoke the package manager such that it outputs all available packages, then feed that output into a fuzzy finder like fzf. On arch, a shell script to achieve this could look something like this:

#!/bin/sh

FINDER="${FINDER:-fzf -i --prompt}"

case "$1" in
  r*)
    pkg="$(pacman -Qe | eval $FINDER '"pacman -Rcns "')" || exit 1
    [ -z "$pkg" ] && exit 1
    pkg="${pkg%% *}"
    sudo pacman -Rcns "$pkg"
    ;;
  *)
    pkg="$(pacman -Ss | awk '{if(NR%2==1){a=$0}else{print a $0}}' | cut -d'/' -f2- | eval $FINDER '"pacman -S "')" || exit 1
    [ -z "$pkg" ] && exit 1
    pkg="${pkg%% *}"
    sudo pacman -S "$pkg"
    ;;
esac 

Invoking this script like ./pkg-store r will list your currently installed packages and attempt to uninstall the selection. Otherwise, it will show you all available packages along with descriptions, ready to sift through and install.

The aur is also a great resource. I'm sure there is a way to replicate the program above with the contents of the aur, which will undoubtedly yield even more results.