]> git.scottworley.com Git - nixos-qemu-vm-isolation/blobdiff - modules/qemu-vm-isolation.nix
Put squashfs-label patch overlays in a separate file
[nixos-qemu-vm-isolation] / modules / qemu-vm-isolation.nix
index 5467f29a366de753f2714a6001762d2ae821999b..ed6800ef9281aeff3bb62460d78939fb4c768716 100644 (file)
@@ -49,17 +49,15 @@ let
       }/nix-store.img";
     squashfs =
       "${hostPkgs.callPackage (modulesPath + "/../lib/make-squashfs.nix") {
-        squashfsTools = hostPkgs.squashfsTools.overrideAttrs (old: {
-          # We patch in support for squashfs labels because
-          # https://github.com/NixOS/nixpkgs/pull/236656 requires filesystems to have labels and
-          # https://github.com/plougher/squashfs-tools/issues/59 squashfs doesn't support labels
-          patches = (old.patches or []) ++ [ ./squashfs-tools-label.patch ];
-          buildInputs = (old.buildInputs or []) ++ [ hostPkgs.makeWrapper ];
-          postInstall = (old.postInstall or "") + ''
-            wrapProgram "$out/bin/mksquashfs" \
-              --append-flags "-label nix-store"
-          '';
-        });
+        squashfsTools =
+          (hostPkgs.extend (import ../overlays/squashfs-labels)).squashfsTools.overrideAttrs
+            (old: {
+              buildInputs = (old.buildInputs or [ ]) ++ [ hostPkgs.makeWrapper ];
+              postInstall = (old.postInstall or "") + ''
+                wrapProgram "$out/bin/mksquashfs" \
+                  --append-flags "-label nix-store"
+              '';
+            });
         storeContents = config.virtualisation.additionalPaths;
       }}";
   };
@@ -84,14 +82,7 @@ in {
         optional (cfg.nixStoreFilesystemType == "erofs") "erofs";
 
       nixpkgs.overlays = optional (cfg.nixStoreFilesystemType == "squashfs")
-        (final: prev: {
-          util-linux = prev.util-linux.overrideAttrs (old: {
-            # We patch in support for squashfs labels because
-            # https://github.com/NixOS/nixpkgs/pull/236656 requires filesystems to have labels and
-            # https://github.com/plougher/squashfs-tools/issues/59 squashfs doesn't support labels
-            patches = (old.patches or [ ]) ++ [ ./util-linux-squashfs-label.patch ];
-          });
-        });
+        (import ../overlays/squashfs-labels);
 
       fileSystems = mkVMOverride {
         "${storeMountPath}" = {