Commit f7a7c4fdcc57

Vincent Demeester <vincent@sbr.pm>
2026-01-09 00:51:38
feat(kerkouane): Add persistent storage and VPS optimizations
- Enable data persistence across system rebuilds with DigitalOcean volume - Reduce closure size by disabling unnecessary firmware for virtual hardware - Optimize storage performance with noatime and discard for SSD Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> Signed-off-by: Vincent Demeester <vincent@sbr.pm>
1 parent 4bef2be
Changed files (2)
systems
systems/kerkouane/boot.nix
@@ -29,4 +29,10 @@
     hwclock -s
   '';
 
+  # VPS optimization: No physical hardware, no firmware needed
+  hardware.enableRedistributableFirmware = lib.mkForce false;
+  hardware.enableAllFirmware = lib.mkForce false;
+
+  # VPS optimization: No firmware update service needed
+  services.fwupd.enable = lib.mkForce false;
 }
systems/kerkouane/hardware.nix
@@ -11,6 +11,42 @@
     }
   ];
 
+  # DigitalOcean volume for persistent data
+  fileSystems."/data" = {
+    device = "/dev/disk/by-uuid/c77f5139-e18a-4138-974f-f63300def495";
+    fsType = "ext4";
+    options = [
+      "defaults"
+      "noatime"
+      "discard"
+    ];
+  };
+
+  # Bind mounts for transparent access at original paths
+  fileSystems."/home/vincent/git" = {
+    device = "/data/home/vincent/git";
+    options = [ "bind" ];
+    depends = [ "/data" ];
+  };
+
+  fileSystems."/home/vincent/desktop" = {
+    device = "/data/home/vincent/desktop";
+    options = [ "bind" ];
+    depends = [ "/data" ];
+  };
+
+  fileSystems."/home/vincent/sync" = {
+    device = "/data/home/vincent/sync";
+    options = [ "bind" ];
+    depends = [ "/data" ];
+  };
+
+  fileSystems."/var/www" = {
+    device = "/data/www";
+    options = [ "bind" ];
+    depends = [ "/data" ];
+  };
+
   # START OF DigitalOcean specifics
   # This file was populated at runtime with the networking
   # details gathered from the active system.