From 0a3891ad4f551f9525ddbc572474c66012b08270 Mon Sep 17 00:00:00 2001 From: Spotlight Date: Sun, 9 Feb 2025 03:09:46 -0600 Subject: [PATCH] spotlights-macbook-air: Enable SMBIOS generation in U-Boot libvirtd would otherwise fail attempting to execute dmidecode. That's an issue in itself, but it's far easier to just simply enable SMBIOS support than maintain patches against libvirtd. --- .../spotlights-macbook-air/configuration.nix | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/hosts/linux/spotlights-macbook-air/configuration.nix b/hosts/linux/spotlights-macbook-air/configuration.nix index a9cb5d6..3f39c5b 100644 --- a/hosts/linux/spotlights-macbook-air/configuration.nix +++ b/hosts/linux/spotlights-macbook-air/configuration.nix @@ -34,6 +34,50 @@ }; }; + nixpkgs.overlays = [ + # We need SMBIOS generation enabled for libvirtd, + # as it otherwise stumbles over executing dmidecode. + (final: prev: { + uboot-asahi = prev.uboot-asahi.overrideAttrs (old: { + # TODO(spotlightishere): It'd be far more ideal to actually override. + # However, somehow overriding extraConfig seems to coerce things into a string. + # We wholly override it here, and thus should monitor to see if it changes upstream. + extraConfig = '' + # Upstream + CONFIG_IDENT_STRING=" ${old.version}" + CONFIG_VIDEO_FONT_4X6=n + CONFIG_VIDEO_FONT_8X16=n + CONFIG_VIDEO_FONT_SUN12X22=n + CONFIG_VIDEO_FONT_16X32=y + CONFIG_CMD_BOOTMENU=y + + # Custom modifications + CONFIG_SMBIOS=y + CONFIG_GENERATE_SMBIOS_TABLE=y + ''; + }); + }) + ]; + + # As recommended in https://nixos.wiki/wiki/Libvirt#Setup + virtualisation.libvirtd = { + enable = true; + qemu = { + package = pkgs.qemu_kvm; + runAsRoot = true; + swtpm.enable = true; + ovmf = { + enable = true; + packages = [ + (pkgs.OVMF.override { + secureBoot = true; + tpmSupport = true; + }).fd + ]; + }; + }; + }; + environment.systemPackages = with pkgs; [ legcord vscode