# Quickemu complaining about no EFI firmware

**URL:** https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487
**Category:** Uncategorized
**Created:** [April 4, 2022, 8:04pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487 "2022-04-04T20:04:12Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 4, 2022, 8:04pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/1 "2022-04-04T20:04:12Z")

</div>

I recently installed `quickemu` using home-manager, but when I try to run a linux or windows vm, I get the following message:

```auto
ERROR! EFI boot requested but no EFI firmware found.
       Please install OVMF firmware.

```

I even tried installing `OVMFFull` but that didn’t help.

I am able to run a macos vm without getting this error.

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 6, 2022, 6:55pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/2 "2022-04-06T18:55:15Z")

</div>

It looks like there is a fix in version 3.11.  
[https://github.com/NixOS/nixpkgs/pull/149409](https://github.com/NixOS/nixpkgs/pull/149409)  
I ran a `sudo nixos-rebuild switch --upgrade` and a `home-manager switch`, but `quickemu` did not update. Is it possible to update to 3.11 manually/temporarily?

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 6, 2022, 7:24pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/3 "2022-04-06T19:24:07Z")

</div>

Hi, I am the maintainer of Quickemu in Nixpkgs, and yes, there has been a fix for that bug since 3.11. I recently bumped it to 3.14 as well. I assume you are using NixOS stable, as 3.14 is in unstable, and 2.2.7 is only in stable. Therefore, you could either fix this by going to unstable, or as follows:

Add the unstable channel

```auto
sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
sudo nix-channel --update

```

Add this to your `configuration.nix`:

```auto
let
  unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
in {
  environment.systemPackages = with pkgs; [
    unstable.quickemu
  ];
}

```

Source: [Installing only a single package from `unstable` - #2 by dalto](https://discourse.nixos.org/t/installing-only-a-single-package-from-unstable/5598/2)

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 6, 2022, 8:07pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/4 "2022-04-06T20:07:22Z")

</div>

Thanks for the help!

What would be the 'home-manager’y way to do this? I added and updated the channel as you suggested, using sudo. Then, I tried adding this to home.nix:

```auto
{ config, pkgs, ... }:

let
  unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
in {
  home.packages = with pkgs; [
    unstable.quickemu
  ];
}

```

but get this error:

```auto
❯ home-manager switch
error: attempt to call something which is not a function but a set, at /home/user/.config/nixpkgs/home.nix:5:4
(use '--show-trace' to show detailed location information)

```

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 6, 2022, 8:18pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/5 "2022-04-06T20:18:36Z")

</div>

Oh, I assumed you where on NixOS. In that case it should be the same, except instead of

```auto
sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
sudo nix-channel --update

```

it’s

```auto
nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
nix-channel --update

```

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 6, 2022, 8:27pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/6 "2022-04-06T20:27:03Z")

</div>

I am on NixOS, and I am using home-manager. I have installed quickemu in home.nix, so I thought I could install unstable.quickemu in home.nix as well.

So I tried your suggestion above, but get the same error. Is it possible to install packages from the unstable channel using home.nix, or do I have to do it in configuration.nix?

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 6, 2022, 8:29pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/7 "2022-04-06T20:29:04Z")

</div>

Ah, got it. So yeah, `home-manager` is looking for the channel in your home, but when you run the command with sudo it adds it to root’s home, if that makes sense.

Same advice works though, just run the commands without sudo.

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 6, 2022, 8:41pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/8 "2022-04-06T20:41:53Z")

</div>

Yes, I kinda understood that, but as I said, I tried your suggestion above (running the nix-channel commands without sudo), and adding the lines to home.nix as I showed above, but I still get the same error as above.

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 6, 2022, 10:52pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/9 "2022-04-06T22:52:16Z")

</div>

Could you do me a favor and run the following and post the outputs?

```auto
quickemu --version
nixos-version
nix --version

```

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 7, 2022, 12:31am UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/10 "2022-04-07T00:31:42Z")

</div>

```auto
❯ quickemu --version
2.2.7

```

```auto
❯ nixos-version
21.11.336824.ccb90fb9e11 (Porcupine)

```

```auto
❯ nix --version
nix (Nix) 2.3.16

```

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 7, 2022, 2:11am UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/11 "2022-04-07T02:11:31Z")

</div>

Ok, can you past your `nix-channel --update` and `home-manager switch` outputs?

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 7, 2022, 6:32am UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/12 "2022-04-07T06:32:04Z")

</div>

```auto
❯ nix-channel --update
unpacking channels...

```

```auto
❯ home-manager switch
error: attempt to call something which is not a function but a set, at /home/user/.config/nixpkgs/home.nix:5:4
(use '--show-trace' to show detailed location information)

```

```auto
❯ head ~/.config/nixpkgs/home.nix
{ config, pkgs, ... }:

let
  unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
in {
  home.packages = with pkgs; [
    unstable.quickemu
  ];
}

```

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 7, 2022, 12:00pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/13 "2022-04-07T12:00:40Z")

</div>

Ok, for whatever reason Home Manager does not like that. Would you mind running `home-manager switch -v` for more verbose output?

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 7, 2022, 6:33pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/14 "2022-04-07T18:33:13Z")

</div>

```auto
❯ home-manager switch -v
error: while evaluating the attribute 'activationPackage' at /home/user/.nix-defexpr/channels/home-manager/modules/default.nix:54:3:
while evaluating 'showWarnings' at /home/user/.nix-defexpr/channels/home-manager/modules/default.nix:18:18, called from /home/user/.nix-defexpr/channels/home-manager/modules/default.nix:39:12:
while evaluating 'foldr' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/lists.nix:52:20, called from /home/user/.nix-defexpr/channels/home-manager/modules/default.nix:22:7:
while evaluating 'fold'' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/lists.nix:55:15, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/lists.nix:59:8:
while evaluating 'collectFailed' at /home/user/.nix-defexpr/channels/home-manager/modules/default.nix:15:19, called from /home/user/.nix-defexpr/channels/home-manager/modules/default.nix:41:16:
while evaluating the attribute 'config' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:236:9:
while evaluating 'mapAttrsRecursiveCond' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/attrsets.nix:296:36, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:171:28:
while evaluating 'recurse' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/attrsets.nix:298:23, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/attrsets.nix:306:8:
while evaluating the attribute 'matchedOptions' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:487:14:
while evaluating 'flip' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/trivial.nix:138:16, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:455:23:
while evaluating 'byName' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:424:25, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:443:21:
while evaluating 'reverseList' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/lists.nix:393:17, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:163:33:
while evaluating anonymous function at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:313:37, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:159:25:
while evaluating 'filterModules' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:303:36, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:314:7:
while evaluating anonymous function at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:307:31, called from undefined position:
while evaluating 'loadModule' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:249:53, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:290:22:
while evaluating 'unifyModuleSyntax' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:318:34, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:255:14:
while evaluating 'applyIfFunction' at /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:348:29, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:255:59:
while evaluating anonymous function at /home/user/.config/nixpkgs/home.nix:1:1, called from /nix/store/47miqdwqv7jcva048yklidady9pw2l3g-nixos-21.11.336824.ccb90fb9e11/nixos/lib/modules.nix:372:8:
attempt to call something which is not a function but a set, at /home/user/.config/nixpkgs/home.nix:5:4

```

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 7, 2022, 6:53pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/15 "2022-04-07T18:53:02Z")

</div>

Oh, it seems to complain similarly if I use configuration.nix instead of home-mananger. I added the unstable channel to root, modified configuration.nix and this is what I got:

```auto
❯ sudo nixos-rebuild switch
error: attempt to call something which is not a function but a set, at /etc/nixos/configuration.nix:5:4
(use '--show-trace' to show detailed location information)
building Nix...
error: attempt to call something which is not a function but a set, at /etc/nixos/configuration.nix:5:4
(use '--show-trace' to show detailed location information)
building the system configuration...
error: attempt to call something which is not a function but a set, at /etc/nixos/configuration.nix:5:4
(use '--show-trace' to show detailed location information)

```

```auto
❯ head /etc/nixos/configuration.nix
{ config, pkgs, ... }:

let
  unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
in {
  environment.systemPackages = with pkgs; [
    unstable.quickemu
  ];
}

```

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 9, 2022, 9:08pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/16 "2022-04-09T21:08:20Z")

</div>

Ok. Sorry I was busy the last couple days. I can confirm that is the correct syntax, but I have no clue why it is not working. Try this:

```auto
{ config, pkgs, ... }:

let
  unstable = import <nixpkgs-unstable> { };
in {
  home.packages = with pkgs; [
    ]
    ++ (with unstable;
    quickemu
    ]);
}

```

Try that and let me know!

---

<div class="post-metadata">

### Author: ![noblman](https://discourse.nixos.org/letter_avatar_proxy/v4/letter/n/b487fb/32.png) [@noblman](https://discourse.nixos.org/u/noblman)
#### Post date: [April 9, 2022, 11:34pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/17 "2022-04-09T23:34:23Z")

</div>

There seems to be mismatched `[` `]` brackets.

I tried deleting the first `]` and got this:

```auto
❯ home-manager switch
error: syntax error, unexpected CONCAT, at /home/user/.config/nixpkgs/home.nix:7:3
(use '--show-trace' to show detailed location information)

```

I tried deleting the second `]` and got this:

```auto
❯ home-manager switch
error: attempt to call something which is not a function but a set, at /home/user/.config/nixpkgs/home.nix:5:4
(use '--show-trace' to show detailed location information)

```

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 10, 2022, 12:34pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/18 "2022-04-10T12:34:28Z")

</div>

Ok, I have no clue what is going on here. I will look into this latter, but that _should_ work!

---

<div class="post-metadata">

### Author: ![vcunat](https://discourse.nixos.org/user_avatar/discourse.nixos.org/vcunat/32/11_2.png) [@vcunat](https://discourse.nixos.org/u/vcunat)
#### Post date: [April 11, 2022, 9:22am UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/19 "2022-04-11T09:22:22Z")

</div>

What about just `home.packages = [unstable.quickemu];`

It’s easy to tangle oneself in syntax features which you don’t understand.

---

<div class="post-metadata">

### Author: ![FedX-sudo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/fedx-sudo/32/6210_2.png) [@FedX-sudo](https://discourse.nixos.org/u/FedX-sudo)
#### Post date: [April 11, 2022, 12:03pm UTC](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487/20 "2022-04-11T12:03:59Z")

</div>

Is that not what we tried the first time with

```auto
let
  unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
in {
  environment.systemPackages = with pkgs; [
    unstable.quickemu
  ];
}

```

I agree, that is not a feature I understand, I got the syntax from a chat room I am in.

[Next page](https://discourse.nixos.org/t/quickemu-complaining-about-no-efi-firmware/18487.md?page=2)
