#!/bin/bash

# omarchy:summary=Show a fuzzy-finder TUI for picking packages installed on the system to be removed.
# omarchy:requires-sudo=true

fzf_args=(
  --multi
  --preview 'rpm -qi {1}'
  --preview-label='alt-p: toggle description, alt-j/k: scroll, tab: multi-select'
  --preview-label-pos='bottom'
  --preview-window 'down:65%:wrap'
  --bind 'alt-p:toggle-preview'
  --bind 'alt-d:preview-half-page-down,alt-u:preview-half-page-up'
  --bind 'alt-k:preview-up,alt-j:preview-down'
  --color 'pointer:red,marker:red'
)

pkg_names=$(rpm -qa --queryformat '%{NAME}\n' | sort -u | fzf "${fzf_args[@]}")

if [[ -n $pkg_names ]]; then
  # Convert newline-separated selections to space-separated for dnf
  echo "$pkg_names" | tr '\n' ' ' | xargs sudo dnf remove -y
  omarchy-show-done $?
fi
