Laptop images now use AHCI storage + e1000 network instead of VirtIO. This fixes "inaccessible boot device" on real hardware — the AHCI→NVMe driver transition is handled by Windows, unlike VirtIO→NVMe which isn't. - makeImage: useAHCI flag switches disk to ide-hd and network to e1000 - customizeImage: auto-detects useAHCI from original image, propagates it - win10/win11 laptop images: useAHCI = true - vmix run: --ahci flag for running laptop images in QEMU - generalize: PlainText password tags in OOBE unattend XML Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
47 lines
1.3 KiB
Nix
47 lines
1.3 KiB
Nix
# Pre-built Win11 LTSC 2024 images from upstream ISO
|
|
# Pipeline: makeImage (Audit Mode) → essentials → apps → registry
|
|
{ pkgs, lib, system, windows, upstreamISOs, ... }:
|
|
with windows;
|
|
{
|
|
ltsc = rec {
|
|
upstream = makeImage {
|
|
name = "win11-ltsc-2024";
|
|
upstreamISO = upstreamISOs.win11-ltsc-2024;
|
|
productKey = "M7XTQ-FN8P6-TTKYV-9D4CC-J462D";
|
|
bypassRequirements = true;
|
|
windowsVersionForVirtioDrivers = "w11";
|
|
};
|
|
|
|
basic = customizeImageFold upstream (with templates; [
|
|
essentials.virtioTools
|
|
essentials.removeIE
|
|
essentials.removeWMP
|
|
essentials.removeEdge
|
|
essentials.vcppRuntimes
|
|
essentials.bestPerformance
|
|
reg.hardened
|
|
reg.disableUCPD
|
|
apps.edgeWebview
|
|
apps.thorium
|
|
]);
|
|
|
|
withApps = customizeImageFold basic (with templates; [
|
|
apps.sandboxie
|
|
apps.sevenZip
|
|
apps.vlc
|
|
apps.imageGlass
|
|
apps.office
|
|
]);
|
|
|
|
withAMDGPU = customizeImage basic templates.essentials.amdGpuDrivers;
|
|
};
|
|
|
|
laptop = customizeImageFold (makeImage {
|
|
name = "win11-ltsc-2024-laptop";
|
|
upstreamISO = upstreamISOs.win11-ltsc-2024;
|
|
productKey = "M7XTQ-FN8P6-TTKYV-9D4CC-J462D";
|
|
bypassRequirements = true;
|
|
useAHCI = true;
|
|
windowsVersionForVirtioDrivers = "w11";
|
|
}) (templates.bundles.laptop ++ [ templates.reg.disableUCPD ]);
|
|
}
|