blob: bb28182a35225bc092eff4569297e681d59308c5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/usr/bin/env bash
set -euo pipefail
echo "--- 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
fi
echo "Removing old NixOS system generations..."
sudo nix-env -p /nix/var/nix/profiles/system --delete-generations +1
echo "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..."
nix-env --delete-generations +1
echo "Removing result symlinks..."
find . -name "result" -type l -delete
echo "Running garbage collector..."
sudo nix-collect-garbage -d
nix-collect-garbage -d
echo "Optimising Nix store..."
nix store optimise
echo "--- Cleanup Complete ---"
|