#!/bin/bash # Comprehensive Arch Linux health check # Returns structured output for easy parsing set -euo pipefail echo "=== System Resources ===" echo "--- Disk Usage ---" df -h / /home 2>/dev/null || df -h echo "" echo "--- Memory ---" free -h echo "" echo "--- Load ---" uptime echo "" echo "=== Package Status ===" echo "--- Pending Updates ---" checkupdates 2>/dev/null | wc -l | xargs echo "Pacman updates:" yay -Qua 2>/dev/null | wc -l | xargs echo "AUR updates:" || echo "AUR updates: N/A" echo "" echo "--- Orphaned Packages ---" pacman -Qtdq 2>/dev/null | wc -l | xargs echo "Orphans:" || echo "Orphans: 0" echo "" echo "=== Service Status ===" echo "--- Failed Services ---" systemctl --failed --no-pager 2>/dev/null || echo "No failed services" echo "" echo "--- Failed User Services ---" systemctl --user --failed --no-pager 2>/dev/null || echo "No failed user services" echo "" echo "=== Recent Errors ===" journalctl -p err --since "24 hours ago" -n 10 --no-pager 2>/dev/null || echo "No recent errors" echo "" echo "=== Security ===" echo "--- Recent Logins ---" last -n 5 2>/dev/null || echo "No login history"