2022-07-31 23:30:21 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Print list of packages to be installed via pacman
|
|
|
|
|
2022-12-25 18:16:05 -05:00
|
|
|
filter_type () {
|
|
|
|
# echo "$1" | jq --raw-output "select(.type==\"$2\") | .name" | sort | uniq
|
|
|
|
echo "$1" | sed -n "/$2/p" | cut -f2
|
2022-07-31 23:30:21 -04:00
|
|
|
}
|
|
|
|
|
2022-12-25 18:16:05 -05:00
|
|
|
raw=$(echo -e "$(xmonad --deps)\n$(xmobar --deps)")
|
2022-07-31 23:30:21 -04:00
|
|
|
|
|
|
|
# these are extra packages that pertain to processes outside xmonad but are
|
|
|
|
# still required/desired to make it work correctly
|
2022-08-02 17:15:52 -04:00
|
|
|
xmonad_pkgs=(xorg-xinit xorg-server autorandr picom)
|
2022-07-31 23:30:21 -04:00
|
|
|
|
2022-12-25 18:16:05 -05:00
|
|
|
mapfile -t official < <(filter_type "$raw" "Official")
|
|
|
|
mapfile -t local < <(filter_type "$raw" "AUR")
|
2022-07-31 23:30:21 -04:00
|
|
|
|
|
|
|
if ! pacman -Si "${official[@]}" > /dev/null; then
|
|
|
|
echo "At least one official package doesn't exist."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! yay -Si "${local[@]}" > /dev/null; then
|
|
|
|
echo "At least one local package doesn't exist."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "${xmonad_pkgs[@]}" "${official[@]}" "${local[@]}" | tr ' ' '\n'
|