diff --git a/hosts/linux/shared.nix b/hosts/linux/shared.nix index ed8af77..d0f4ace 100644 --- a/hosts/linux/shared.nix +++ b/hosts/linux/shared.nix @@ -92,6 +92,9 @@ # Common utilities across most Linux installs. environment.systemPackages = with pkgs; [ + # Since not all applications are currently GTK 4, + # we need to manually add the Adwaita GTK 3 dark mode theme. + adw-gtk3 firefox htop git diff --git a/hosts/linux/spotlights-macbook-air/configuration.nix b/hosts/linux/spotlights-macbook-air/configuration.nix index fd8d85e..3f39c5b 100644 --- a/hosts/linux/spotlights-macbook-air/configuration.nix +++ b/hosts/linux/spotlights-macbook-air/configuration.nix @@ -12,10 +12,12 @@ ]; # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = false; + boot.loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = false; + }; - # GPU enablement + # Asahi Linux support hardware.asahi = { peripheralFirmwareDirectory = /boot/asahi; # GPU enablement @@ -25,11 +27,55 @@ }; networking = { + hostName = "spotlights-macbook-air"; wireless.iwd = { enable = true; settings.General.EnableNetworkConfiguration = true; }; - networkmanager.enable = true; + }; + + 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; [