aboutsummaryrefslogtreecommitdiffstats
path: root/modules/system/deep-clean/deep-clean.sh
diff options
context:
space:
mode:
authorarpitchakladar <arpitchakladar@gmail.com>2026-09-09 23:29:20 +0530
committerarpitchakladar <arpitchakladar@gmail.com>2026-09-09 23:29:20 +0530
commitd2e6e6b5de1d56d53aee2da81c2e9ee553971c72 (patch)
treefeee7479f6b4574696cc6d780f55ce044cafa3bc /modules/system/deep-clean/deep-clean.sh
parent7879122dfc8e7ca7b905e10d5f55df09f9051295 (diff)
downloadhome-manager-config-d2e6e6b5de1d56d53aee2da81c2e9ee553971c72.tar.gz
home-manager-config-d2e6e6b5de1d56d53aee2da81c2e9ee553971c72.zip
refactor(modules): consistent message formats across all scripts
Diffstat (limited to 'modules/system/deep-clean/deep-clean.sh')
-rw-r--r--modules/system/deep-clean/deep-clean.sh26
1 files changed, 15 insertions, 11 deletions
diff --git a/modules/system/deep-clean/deep-clean.sh b/modules/system/deep-clean/deep-clean.sh
index bb28182..d698bfd 100644
--- a/modules/system/deep-clean/deep-clean.sh
+++ b/modules/system/deep-clean/deep-clean.sh
@@ -1,35 +1,39 @@
#!/usr/bin/env bash
set -euo pipefail
-echo "--- Starting Nix Deep Clean (keeping only current generations) ---"
+info() { printf '\033[1;34m==>\033[0m %s\n' "$*"; }
+warn() { printf '\033[1;33m==> warning:\033[0m %s\n' "$*" >&2; }
+error() { printf '\033[1;31m==> error:\033[0m %s\n' "$*" >&2; }
+die() { error "$*"; exit 1; }
+
+info "Starting Nix Deep Clean (keeping only current generations)"
if [[ $EUID -eq 0 ]]; then
- echo "Error: Do not run this script with sudo."
- echo "Run it as your normal user; it will ask for sudo when required."
- exit 1
+ die "Do not run this script with sudo.
+Run it as your normal user; it will ask for sudo when required."
fi
-echo "Removing old NixOS system generations..."
+info "Removing old NixOS system generations..."
sudo nix-env -p /nix/var/nix/profiles/system --delete-generations +1
-echo "Removing old Home Manager generations..."
+info "Removing old Home Manager generations..."
if command -v home-manager &> /dev/null; then
home-manager generations | \
awk 'NR>1 {print $1}' | \
xargs -r home-manager remove-generations
fi
-echo "Removing old user profile generations..."
+info "Removing old user profile generations..."
nix-env --delete-generations +1
-echo "Removing result symlinks..."
+info "Removing result symlinks..."
find . -name "result" -type l -delete
-echo "Running garbage collector..."
+info "Running garbage collector..."
sudo nix-collect-garbage -d
nix-collect-garbage -d
-echo "Optimising Nix store..."
+info "Optimising Nix store..."
nix store optimise
-echo "--- Cleanup Complete ---"
+info "Cleanup Complete." \ No newline at end of file