Files
fish-config/functions/cleanup.fish
T

35 lines
989 B
Fish

# 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