Skip to content
Unverified Commit d1a28539 authored by aszlig's avatar aszlig
Browse files

pinentry: Fix .override for pinentry_*

When you evaluate nixos/tests/simple.nix, you'll run into an infinite
recursion since 41b140cb

.

The reason is that udisks2 now pulls in gnupg because it now depends on
libblockdev, which in turn depends on volume_key and that depends on
gnupg.

Nevertheless, it's not the real reason, because this only means, that
since gnupg is now pulled into the closure of a basic nixos
configuration the real problem becomes visible:

In nixos/modules/config/no-x-libs.nix there is an overlay which does
something like this:

  nixpkgs.overlays = singleton (const (super: {
    pinentry = super.pinentry_ncurses;
  }));

Now since pinentry_ncurses is already using pinentry.override we get an
infinite recursion because now the pinentry attribute refers to
pinentry_ncurses, which by itself is again referring to pinentry.

This is solved by using the self.pinentry.override instead, so that the
override used by pinentry_ncurses doesn't use the attribute from the
overlay.

Signed-off-by: default avataraszlig <aszlig@nix.build>
Cc: @ttuegel
Signed-off-by: default avataraszlig <aszlig@nix.build>
parent fb2c132d
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment