From 322b19b3c66d8e0807bcb42a724a1bb2ca7ec5a7 Mon Sep 17 00:00:00 2001 From: albert <albert@sysctl.io> Date: Sat, 18 Jan 2025 00:46:54 +0100 Subject: [PATCH] Add home-manager cleanup cronjob --- home-manager/default.nix | 9 +++++++++ home-manager/small.nix | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/home-manager/default.nix b/home-manager/default.nix index 0b4041df..f38ff7e9 100644 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -26,6 +26,15 @@ sessionPath = [ "$HOME/.local/bin" ]; }; + # Clean up all but the most recent 5 home-manager configs + services.cron = { + enable = true; + crontab = '' + # Cleanup all but last 5 home-manager generations weekly on Sunday at midnight + 0 0 * * 0 home-manager generations | tail -n +6 | awk '{print $5}' | xargs -I {} home-manager remove-generations {} + ''; + }; + nixpkgs = { overlays = [ # Currently in use in the Firefox config diff --git a/home-manager/small.nix b/home-manager/small.nix index ed47c4c4..597dc892 100644 --- a/home-manager/small.nix +++ b/home-manager/small.nix @@ -36,6 +36,16 @@ sessionPath = [ "$HOME/.local/bin" ]; }; + # Clean up all but the most recent 2 home-manager configs + services.cron = { + enable = true; + crontab = '' + # Cleanup all but last 5 home-manager generations weekly on Sunday at midnight + 0 0 * * 0 home-manager generations | tail -n +3 | awk '{print $5}' | xargs -I {} home-manager remove-generations {} + ''; + }; + + nixpkgs = { overlays = [ # Currently in use in the Firefox config