# Copyright (C) 2026 Rootiest # SPDX-License-Identifier: AGPL-3.0-or-later # CATEGORY # 05-package-management # # SYNOPSIS # cleanup # # DESCRIPTION # Identifies and removes Arch Linux orphan packages using pacman. Logs # package names and versions to ~/.removed_orphans before removal. # # EXIT STATUS # 0 No orphans found, or orphans removed successfully # Nonzero sudo pacman -Rns failed # # EXAMPLE # cleanup function cleanup --description 'Log orphans to ~/.removed_orphans and remove them' __fish_help_header (status current-function) $argv; and return 0 set -l orphans (pacman -Qtdq) if test -n "$orphans" echo "๐Ÿ“ Logging orphans to ~/.removed_orphans..." echo "--- Removed on $(date) ---" >> ~/.removed_orphans pacman -Qi $orphans | grep -E '^(Name|Version)' >> ~/.removed_orphans echo "๐Ÿงน Removing orphans..." sudo pacman -Rns $orphans else echo "โœจ No orphans to clean up!" end end