mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 17:54:03 +01:00
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
75 lines
2.4 KiB
Bash
Executable File
75 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# lib/services_report.sh — usage text and the end-of-run status summary table.
|
|
#
|
|
# Sourced by check_and_enable_services.sh. Reads SERVICE_STATUS, ISSUES_FOUND,
|
|
# FIXES_APPLIED, DRY_RUN, STATUS_ONLY and the colour globals from the caller.
|
|
|
|
usage() {
|
|
cat <<'EOF'
|
|
Check and Enable Digital Wellbeing Services
|
|
============================================
|
|
|
|
Usage: sudo ./check_and_enable_services.sh [options]
|
|
|
|
Options:
|
|
--dry-run Show what would be done without making changes
|
|
--status Only show status, don't enable anything
|
|
-h, --help Show this help message
|
|
|
|
Services checked:
|
|
1. Pacman wrapper - Policy-aware pacman wrapper with friction mechanics
|
|
2. Midnight shutdown - Day-specific automatic shutdown timer
|
|
3. Startup monitor - PC startup time monitoring service
|
|
4. Periodic systems - Hourly maintenance timer and hosts monitor
|
|
5. Hosts and guards - /etc/hosts blocking and protection layers
|
|
6. Compulsive blocker - Limits messaging apps to one launch per hour
|
|
7. Thorium startup - Auto-launch Thorium with Fitatu on boot
|
|
8. LeechBlock - Browser extension for site blocking
|
|
9. Guest mode removal - Disable Chromium guest mode via policy
|
|
10. VirtualBox hosts - Enforce /etc/hosts inside VMs
|
|
11. Workout lock screen - Requires workout logging to unlock screen (user service)
|
|
EOF
|
|
}
|
|
|
|
print_summary() {
|
|
header "Summary"
|
|
|
|
echo ""
|
|
printf "%-25s %s\n" "Service" "Status"
|
|
printf "%-25s %s\n" "-------" "------"
|
|
|
|
for service in pacman_wrapper makepkg_wrapper midnight_shutdown periodic_systems hosts compulsive_blocker leechblock guest_mode_removal vbox_hosts workout_locker; do
|
|
local status
|
|
status="$(get_service_status "$service")"
|
|
local color
|
|
case "$status" in
|
|
ok) color=$GREEN ;;
|
|
warning) color=$YELLOW ;;
|
|
error) color=$RED ;;
|
|
"n/a" | skipped) color=$BLUE ;;
|
|
*) color=$NC ;;
|
|
esac
|
|
printf "%-25s ${color}%s${NC}\n" "$service" "$status"
|
|
done
|
|
|
|
echo ""
|
|
if [[ $DRY_RUN -eq 1 ]]; then
|
|
note "DRY RUN - No changes were made"
|
|
fi
|
|
|
|
if [[ $ISSUES_FOUND -eq 0 ]]; then
|
|
msg "All services are properly configured!"
|
|
else
|
|
if [[ $STATUS_ONLY -eq 1 ]]; then
|
|
warn "Found $ISSUES_FOUND service(s) with issues"
|
|
note "Run without --status to fix issues"
|
|
else
|
|
if [[ $FIXES_APPLIED -gt 0 ]]; then
|
|
msg "Applied $FIXES_APPLIED fix(es)"
|
|
else
|
|
warn "Found $ISSUES_FOUND issue(s) but no fixes were applied"
|
|
fi
|
|
fi
|
|
fi
|
|
}
|