From 8c75ae38386a659f5e5a5dfbada9b5b614faacde Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 30 Apr 2014 11:17:30 +0200 Subject: [PATCH] nixos-generate-config: Use systemd-detect-virt instead of dmidecode Dmidecode fails in our EFI test with the error "SMBIOS entry point missing". But we don't need dmidecode because we have already have systemd-detect-virt. --- nixos/modules/installer/tools/nixos-generate-config.pl | 7 ++++--- nixos/modules/installer/tools/tools.nix | 1 - 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 89f112cc6bf..b1958f32e55 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -218,18 +218,19 @@ foreach my $path (glob "/sys/class/block/*") { } -my $dmi = `@dmidecode@/sbin/dmidecode`; +my $virt = `systemd-detect-virt`; +chomp $virt; # Check if we're a VirtualBox guest. If so, enable the guest # additions. -if ($dmi =~ /Manufacturer: innotek/) { +if ($virt eq "oracle") { push @attrs, "services.virtualbox.enable = true;" } # Likewise for QEMU. -if ($dmi =~ /Manufacturer: Bochs/) { +if ($virt eq "qemu" || $virt eq "kvm" || $virt eq "bochs") { push @imports, ""; } diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix index 7dbcc261485..5ebf05e340f 100644 --- a/nixos/modules/installer/tools/tools.nix +++ b/nixos/modules/installer/tools/tools.nix @@ -38,7 +38,6 @@ let name = "nixos-generate-config"; src = ./nixos-generate-config.pl; perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl"; - inherit (pkgs) dmidecode; }; nixos-option = makeProg {