diff --git a/zsh/nyx-cleanup.zsh b/zsh/nyx-cleanup.zsh index fc8d709..d95de89 100644 --- a/zsh/nyx-cleanup.zsh +++ b/zsh/nyx-cleanup.zsh @@ -1,8 +1,6 @@ -# nyx-cleanup.zsh โ€” Improved Version - function nyx-cleanup() { ##### ๐Ÿ› ๏ธ CONFIGURATION ##### - local version="1.3.0" + local version="1.3.1" local keep_generations="${keep_generations:-5}" local start_human=$(date '+%Y-%m-%d %H:%M:%S') local nix_cleanup_log="nixos-cleanup.log" @@ -30,6 +28,15 @@ function nyx-cleanup() { console-log "${BOLD}$(printf '%*s\n' "${COLUMNS:-40}" '' | tr ' ' '=')${RESET}" } + format_bytes() { + num=$1 + echo $(numfmt --to=iec-i --suffix=B "$num") + } + + disk_usage() { + df --output=used /nix/store | tail -1 + } + ##### ๐Ÿ“˜ TOOL INFO ##### print_line nix-tool "Nyx" "nyx-cleanup" "$version" \ @@ -39,28 +46,33 @@ function nyx-cleanup() { "https://github.com/Peritia-System/Nyx-Tools/issues" \ "Always up to date for you!" echo - echo -e "${BOLD}${CYAN}๐Ÿงผ Nyx Cleanup v$version${RESET}" + echo -e "${BOLD}${CYAN}๐Ÿงผ Nyx Cleanup v$version โ€” Starting...${RESET}" print_line + ##### ๐Ÿ“Š STATS: BEFORE ##### + local disk_before=$(disk_usage) + console-log "${CYAN}๐Ÿ“Š Disk used before cleanup: $(format_bytes $disk_before)${RESET}" + ##### ๐Ÿงน EXECUTION ##### - console-log "${MAGENTA}Cleaning up old generations and Nix garbage...${RESET}" - console-log "Started cleanup: $(date)" + console-log "\n${BLUE}๐Ÿ—‘๏ธ Collecting Nix garbage...${RESET}" + sudo nix-collect-garbage -d >> "$cleanup_log" 2>&1 - console-log "\n${BLUE}๐Ÿ—‘๏ธ Running Nix garbage collection...${RESET}" - sudo nix-collect-garbage -d | tee -a "$nix_cleanup_log" - - console-log "\n${BLUE}๐Ÿงน Removing old generations (keeping last $keep_generations)...${RESET}" - sudo nix-collect-garbage --delete-older-than "${keep_generations}d" | tee -a "$nix_cleanup_log" + console-log "\n${BLUE}๐Ÿงน Deleting old generations (keep $keep_generations)...${RESET}" + sudo nix-collect-garbage --delete-older-than "${keep_generations}d" >> "$cleanup_log" 2>&1 if [[ "$optimize_store" == "true" ]]; then console-log "\n${MAGENTA}๐Ÿ”ง Optimizing the Nix store...${RESET}" - sudo nix-store --optimize | tee -a "$nix_cleanup_log" + sudo nix-store --optimize >> "$cleanup_log" 2>&1 fi - ##### โœ… SUMMARY ##### + ##### ๐Ÿ“Š STATS: AFTER ##### + local disk_after=$(disk_usage) + local space_freed=$((disk_before - disk_after)) print_line - console-log "${GREEN}${BOLD}โœ… Nix cleanup completed successfully!${RESET}" + console-log "${GREEN}${BOLD}โœ… Cleanup Completed Successfully!${RESET}" console-log "${CYAN}๐Ÿ•’ Finished at: $(date)${RESET}" + console-log "${CYAN}๐Ÿ“Š Disk used after cleanup: $(format_bytes $disk_after)${RESET}" + console-log "${CYAN}๐Ÿ’พ Space freed: $(format_bytes $space_freed)${RESET}" print_line ##### ๐Ÿ“ GIT LOGGING #####