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