summaryrefslogtreecommitdiff
path: root/pkgs/nixgc.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/nixgc.nix')
-rw-r--r--pkgs/nixgc.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/nixgc.nix b/pkgs/nixgc.nix
new file mode 100644
index 0000000..9e25bd7
--- /dev/null
+++ b/pkgs/nixgc.nix
@@ -0,0 +1,25 @@
+# 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 = with lib; {
+ description = "nix-collect-garbage, but with nix profile";
+ maintainers = [maintainers.getchoo];
+ platforms = platforms.linux;
+ };
+}