diff --git a/lib/default.nix b/lib/default.nix index 27c4e373..d2ebd4c7 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -340,10 +340,11 @@ let /* Checks whether nixpkgs is recent enough for vmTools to support the customQemu argument. Returns false, which is technically incorrect, for a few commits on 2024-07-08, but we can't be more accurate. + Make sure to pass lib, not pkgs.lib! See https://github.com/nix-community/disko/issues/904 - vmToolsSupportsCustomQemu :: pkgs -> bool + vmToolsSupportsCustomQemu :: final_lib -> bool */ - vmToolsSupportsCustomQemu = pkgs: lib.versionAtLeast pkgs.lib.version "24.11.20240709"; + vmToolsSupportsCustomQemu = final_lib: lib.versionAtLeast final_lib.version "24.11.20240709"; optionTypes = rec { filename = lib.mkOptionType { diff --git a/lib/make-disk-image.nix b/lib/make-disk-image.nix index 8ff1cd13..0180c708 100644 --- a/lib/make-disk-image.nix +++ b/lib/make-disk-image.nix @@ -21,7 +21,7 @@ let (with cfg.kernelPackages; [ kernel ] ++ lib.optional (lib.elem "zfs" cfg.extraRootModules || configSupportsZfs) zfs); } - // lib.optionalAttrs (diskoLib.vmToolsSupportsCustomQemu pkgs) + // lib.optionalAttrs (diskoLib.vmToolsSupportsCustomQemu lib) { customQemu = cfg.qemu; }; diff --git a/module.nix b/module.nix index 66286a48..6543e111 100644 --- a/module.nix +++ b/module.nix @@ -213,7 +213,7 @@ in config = { assertions = [ { - assertion = config.disko.imageBuilder.qemu != null -> diskoLib.vmToolsSupportsCustomQemu pkgs; + assertion = config.disko.imageBuilder.qemu != null -> diskoLib.vmToolsSupportsCustomQemu lib; message = '' You have set config.disko.imageBuild.qemu, but vmTools in your nixpkgs version "${lib.version}" does not support overriding the qemu package with the customQemu option yet.