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