aboutsummaryrefslogtreecommitdiff
path: root/scripts/gc.sh
blob: f432c0c58ca84137945be63d7de84306ef061575 (plain) (blame)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh
set -eu

# shellcheck source=/dev/null
. "$DOTFILES/sh/colors.sh"

disk_space() {
  u | awk '{print $5" "$6}'
}

before=$(disk_space)

gc-nix.sh

yellow "Cleaning up Guix store\n"

guix gc -d


yellow "Cleaning up up the Trash and /tmp folders\n"

sudo rm -rf ~/.local/share/Trash/files/*
# https://askubuntu.com/a/609396
sudo find /tmp -type f -atime +10 -delete

if which docker; then

  yellow "Erasing docker images\n"

  echo y | docker system prune -a
  docker rmi "$(docker images -a -q)" ||:
  docker rm "$(docker ps -a -f status=exited -q)" ||:

  docker stop "$(docker ps -a -q)" ||:
  docker rm "$(docker ps -a -q)" ||:

  echo y | docker volume prune
  echo y | docker container prune
fi

gc-mail.sh

after=$(disk_space)

green "Done.\n"
green "Disk space before and after:\n"
blue "  before: ${before}\n"
blue "  after:  ${after}\n"