NixOS - working GPG config with home-manager


I was trying to get GPG working on my NixOS setup with home-manager, but I was running into issues with pinentry. I was getting the following error:

gpg: problem with the agent: No pinentry

The issue was that I installed gpg as a package in my home configuration and not as a program.

  home.packages = with pkgs; [

I changed the config to install gpg as a program and also and configured gpg-agent to use curses as the pinentry program:

  # gpg
  programs.gpg.enable = true;

  # gpg-agent
  services.gpg-agent = {
    enable = true;
    enableSshSupport = true;
    enableBashIntegration = true;
    pinentryFlavor = "curses";

But I was still getting the same error, even though others solved the issue with this config (except they were using gnome3 flavor). Found out that I had to also reboot the computer and now it works seamlessly!

Thanks to guys discussing this issue: