summaryrefslogtreecommitdiff
path: root/pkgs/nixgc/default.nix
blob: d13614aa2af27b606c5584af116e7691bf82fe7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# this is a shell script that uses the new nix cli to emulate
# nix-collect-garbage
{
  lib,
  writeShellApplication,
  nix,
  fd,
}:
writeShellApplication {
  name = "nixgc";

  runtimeInputs = [nix fd];

  text = ''
    fd . /nix/var/nix/profiles /home/*/.local/state/nix/profiles -d 3 -t symlink -E '*-link' | while read -r profile; do
      nix profile wipe-history --profile "$profile" "$@"
    done
  '';
}
// {
  meta.platforms = lib.platforms.linux;
}