diff --git a/modules/nixos-modules/server/fail2ban.nix b/modules/nixos-modules/server/fail2ban.nix
index f68ef9d..e59d8a5 100644
--- a/modules/nixos-modules/server/fail2ban.nix
+++ b/modules/nixos-modules/server/fail2ban.nix
@@ -2,7 +2,9 @@
   lib,
   config,
   ...
-}: {
+}: let
+  dataFile = "/var/lib/fail2ban/fail2ban.sqlite3";
+in {
   options.host.fail2ban = {
     enable = lib.mkEnableOption "should fail 2 ban be enabled on this server";
   };
@@ -85,6 +87,20 @@
       };
     }
     (lib.mkIf config.host.impermanence.enable {
-      })
+      assertions = [
+        {
+          assertion = config.services.fail2ban.daemonSettings.Definition.dbfile == dataFile;
+          message = "fail2ban data file does not match persistence";
+        }
+      ];
+
+      environment.persistence."/persist/system/root" = {
+        enable = true;
+        hideMounts = true;
+        files = [
+          dataFile
+        ];
+      };
+    })
   ]);
 }