Merge pull request #133542 from fpletz/refactor/pinentry-remove-multiple-outputs

pinentry: remove multiple outputs

authored by Sandro and committed by GitHub c86e8fd7 7a2f4373

+168 -129
+1 -1
nixos/modules/config/no-x-libs.nix
··· 66 networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; }; 67 networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; }; 68 pango = super.pango.override { x11Support = false; }; 69 - pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; }; 70 pipewire = super.pipewire.override { vulkanSupport = false; x11Support = false; }; 71 pythonPackagesExtensions = super.pythonPackagesExtensions ++ [ 72 (python-final: python-prev: {
··· 66 networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; }; 67 networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; }; 68 pango = super.pango.override { x11Support = false; }; 69 + pinentry-curses = super.pinentry-curses.override { withLibsecret = false; }; 70 pipewire = super.pipewire.override { vulkanSupport = false; x11Support = false; }; 71 pythonPackagesExtensions = super.pythonPackagesExtensions ++ [ 72 (python-final: python-prev: {
+20 -22
nixos/modules/programs/gnupg.nix
··· 1 { config, lib, pkgs, ... }: 2 3 - with lib; 4 - 5 let 6 7 cfg = config.programs.gnupg; 8 ··· 26 "curses"; 27 28 in 29 - 30 { 31 32 options.programs.gnupg = { 33 package = mkPackageOption pkgs "gnupg" { }; ··· 66 ''; 67 }; 68 69 - agent.pinentryFlavor = mkOption { 70 - type = types.nullOr (types.enum pkgs.pinentry.flavors); 71 - example = "gnome3"; 72 - default = defaultPinentryFlavor; 73 - defaultText = literalMD ''matching the configured desktop environment''; 74 description = lib.mdDoc '' 75 - Which pinentry interface to use. If not null, the path to the 76 - pinentry binary will be set in /etc/gnupg/gpg-agent.conf. 77 - If not set at all, it'll pick an appropriate flavor depending on the 78 - system configuration (qt flavor for lxqt and plasma5, gtk2 for xfce 79 - 4.12, gnome3 on all other systems with X enabled, ncurses otherwise). 80 ''; 81 }; 82 ··· 102 }; 103 104 config = mkIf cfg.agent.enable { 105 - programs.gnupg.agent.settings = { 106 - pinentry-program = lib.mkIf (cfg.agent.pinentryFlavor != null) 107 - "${pkgs.pinentry.${cfg.agent.pinentryFlavor}}/bin/pinentry"; 108 }; 109 110 environment.etc."gnupg/gpg-agent.conf".source = ··· 207 wantedBy = [ "sockets.target" ]; 208 }; 209 210 - services.dbus.packages = mkIf (cfg.agent.pinentryFlavor == "gnome3") [ pkgs.gcr ]; 211 212 - environment.systemPackages = with pkgs; [ cfg.package ]; 213 214 environment.interactiveShellInit = '' 215 # Bind gpg-agent to this TTY if gpg commands are used. ··· 230 ''; 231 232 assertions = [ 233 - { assertion = cfg.agent.enableSSHSupport -> !config.programs.ssh.startAgent; 234 message = "You can't use ssh-agent and GnuPG agent with SSH support enabled at the same time!"; 235 } 236 ]; 237 }; 238 - 239 - # uses attributes of the linked package 240 - meta.buildDocsInSandbox = false; 241 }
··· 1 { config, lib, pkgs, ... }: 2 3 let 4 + inherit (lib) mkRemovedOptionModule mkOption mkPackageOption types mkIf optionalString; 5 6 cfg = config.programs.gnupg; 7 ··· 25 "curses"; 26 27 in 28 { 29 + imports = [ 30 + (mkRemovedOptionModule [ "programs" "gnupg" "agent" "pinentryFlavor" ] "Use programs.gnupg.agent.pinentryPackage instead") 31 + ]; 32 33 options.programs.gnupg = { 34 package = mkPackageOption pkgs "gnupg" { }; ··· 67 ''; 68 }; 69 70 + agent.pinentryPackage = mkOption { 71 + type = types.nullOr types.package; 72 + example = lib.literalMD "pkgs.pinentry-gnome3"; 73 + default = pkgs.pinentry-curses; 74 + defaultText = lib.literalMD "matching the configured desktop environment or `pkgs.pinentry-curses`"; 75 description = lib.mdDoc '' 76 + Which pinentry package to use. The path to the mainProgram as defined in 77 + the package's meta attriutes will be set in /etc/gnupg/gpg-agent.conf. 78 + If not set by the user, it'll pick an appropriate flavor depending on the 79 + system configuration (qt flavor for lxqt and plasma5, gtk2 for xfce, 80 + gnome3 on all other systems with X enabled, curses otherwise). 81 ''; 82 }; 83 ··· 103 }; 104 105 config = mkIf cfg.agent.enable { 106 + programs.gnupg.agent.settings = mkIf (cfg.agent.pinentryPackage != null) { 107 + pinentry-program = lib.getExe cfg.agent.pinentryPackage; 108 }; 109 110 environment.etc."gnupg/gpg-agent.conf".source = ··· 207 wantedBy = [ "sockets.target" ]; 208 }; 209 210 + services.dbus.packages = mkIf (lib.elem "gnome3" (cfg.agent.pinentryPackage.flavors or [])) [ pkgs.gcr ]; 211 212 + environment.systemPackages = [ cfg.package ]; 213 214 environment.interactiveShellInit = '' 215 # Bind gpg-agent to this TTY if gpg commands are used. ··· 230 ''; 231 232 assertions = [ 233 + { 234 + assertion = cfg.agent.enableSSHSupport -> !config.programs.ssh.startAgent; 235 message = "You can't use ssh-agent and GnuPG agent with SSH support enabled at the same time!"; 236 } 237 ]; 238 }; 239 }
+5
nixos/modules/programs/wayland/sway.nix
··· 152 ''; 153 } 154 ]; 155 environment = { 156 systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages; 157 # Needed for the default wallpaper: ··· 166 "sway/config".source = mkOptionDefault "${cfg.package}/etc/sway/config"; 167 }; 168 }; 169 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913 170 xdg.portal.config.sway.default = mkDefault [ "wlr" "gtk" ]; 171 # To make a Sway session available if a display manager like SDDM is enabled: 172 services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; } 173 (import ./wayland-session.nix { inherit lib pkgs; })
··· 152 ''; 153 } 154 ]; 155 + 156 environment = { 157 systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages; 158 # Needed for the default wallpaper: ··· 167 "sway/config".source = mkOptionDefault "${cfg.package}/etc/sway/config"; 168 }; 169 }; 170 + 171 + programs.gnupg.agent.pinentryPackage = lib.mkDefault pkgs.pinentry-gnome3; 172 + 173 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913 174 xdg.portal.config.sway.default = mkDefault [ "wlr" "gtk" ]; 175 + 176 # To make a Sway session available if a display manager like SDDM is enabled: 177 services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ]; } 178 (import ./wayland-session.nix { inherit lib pkgs; })
+2 -10
nixos/modules/services/security/yubikey-agent.nix
··· 6 7 let 8 cfg = config.services.yubikey-agent; 9 - 10 - # reuse the pinentryFlavor option from the gnupg module 11 - pinentryFlavor = config.programs.gnupg.agent.pinentryFlavor; 12 in 13 { 14 ###### interface ··· 41 # This overrides the systemd user unit shipped with the 42 # yubikey-agent package 43 systemd.user.services.yubikey-agent = mkIf (pinentryFlavor != null) { 44 - path = [ pkgs.pinentry.${pinentryFlavor} ]; 45 - wantedBy = [ 46 - (if pinentryFlavor == "tty" || pinentryFlavor == "curses" then 47 - "default.target" 48 - else 49 - "graphical-session.target") 50 - ]; 51 }; 52 53 # Yubikey-agent expects pcsd to be running in order to function.
··· 6 7 let 8 cfg = config.services.yubikey-agent; 9 in 10 { 11 ###### interface ··· 38 # This overrides the systemd user unit shipped with the 39 # yubikey-agent package 40 systemd.user.services.yubikey-agent = mkIf (pinentryFlavor != null) { 41 + path = [ config.programs.gnupg.agent.pinentryPackage ]; 42 + wantedBy = [ "default.target" ]; 43 }; 44 45 # Yubikey-agent expects pcsd to be running in order to function.
+1
nixos/modules/services/x11/desktop-managers/deepin.nix
··· 66 services.upower.enable = mkDefault config.powerManagement.enable; 67 networking.networkmanager.enable = mkDefault true; 68 programs.dconf.enable = mkDefault true; 69 70 fonts.packages = with pkgs; [ noto-fonts ]; 71 xdg.mime.enable = true;
··· 66 services.upower.enable = mkDefault config.powerManagement.enable; 67 networking.networkmanager.enable = mkDefault true; 68 programs.dconf.enable = mkDefault true; 69 + programs.gnupg.agent.pinentryPackage = pkgs.pinentry-qt; 70 71 fonts.packages = with pkgs; [ noto-fonts ]; 72 xdg.mime.enable = true;
+2
nixos/modules/services/x11/desktop-managers/lxqt.nix
··· 62 # Link some extra directories in /run/current-system/software/share 63 environment.pathsToLink = [ "/share" ]; 64 65 # virtual file systems support for PCManFM-QT 66 services.gvfs.enable = true; 67
··· 62 # Link some extra directories in /run/current-system/software/share 63 environment.pathsToLink = [ "/share" ]; 64 65 + programs.gnupg.agent.pinentryPackage = pkgs.pinentry-qt; 66 + 67 # virtual file systems support for PCManFM-QT 68 services.gvfs.enable = true; 69
+1
nixos/modules/services/x11/desktop-managers/plasma5.nix
··· 336 serif = [ "Noto Serif" ]; 337 }; 338 339 programs.ssh.askPassword = mkDefault "${pkgs.plasma5Packages.ksshaskpass.out}/bin/ksshaskpass"; 340 341 # Enable helpful DBus services.
··· 336 serif = [ "Noto Serif" ]; 337 }; 338 339 + programs.gnupg.agent.pinentryPackage = pkgs.pinentry-qt; 340 programs.ssh.askPassword = mkDefault "${pkgs.plasma5Packages.ksshaskpass.out}/bin/ksshaskpass"; 341 342 # Enable helpful DBus services.
+1
nixos/modules/services/x11/desktop-managers/plasma6.nix
··· 210 serif = ["Noto Serif"]; 211 }; 212 213 programs.ssh.askPassword = mkDefault "${kdePackages.ksshaskpass.out}/bin/ksshaskpass"; 214 215 # Enable helpful DBus services.
··· 210 serif = ["Noto Serif"]; 211 }; 212 213 + programs.gnupg.agent.pinentryPackage = pkgs.pinentry-qt; 214 programs.ssh.askPassword = mkDefault "${kdePackages.ksshaskpass.out}/bin/ksshaskpass"; 215 216 # Enable helpful DBus services.
+1
nixos/modules/services/x11/desktop-managers/xfce.nix
··· 131 xfdesktop 132 ] ++ optional cfg.enableScreensaver xfce4-screensaver) excludePackages; 133 134 programs.xfconf.enable = true; 135 programs.thunar.enable = true; 136
··· 131 xfdesktop 132 ] ++ optional cfg.enableScreensaver xfce4-screensaver) excludePackages; 133 134 + programs.gnupg.agent.pinentryPackage = pkgs.pinentry-gtk2; 135 programs.xfconf.enable = true; 136 programs.thunar.enable = true; 137
+2
nixos/modules/services/x11/xserver.nix
··· 749 boot.kernel.sysctl."fs.inotify.max_user_instances" = mkDefault 524288; 750 boot.kernel.sysctl."fs.inotify.max_user_watches" = mkDefault 524288; 751 752 systemd.defaultUnit = mkIf cfg.autorun "graphical.target"; 753 754 systemd.services.display-manager =
··· 749 boot.kernel.sysctl."fs.inotify.max_user_instances" = mkDefault 524288; 750 boot.kernel.sysctl."fs.inotify.max_user_watches" = mkDefault 524288; 751 752 + programs.gnupg.agent.pinentryPackage = lib.mkDefault pkgs.pinentry-gnome3; 753 + 754 systemd.defaultUnit = mkIf cfg.autorun "graphical.target"; 755 756 systemd.services.display-manager =
-1
nixos/tests/pass-secret-service.nix
··· 26 27 programs.gnupg = { 28 agent.enable = true; 29 - agent.pinentryFlavor = "tty"; 30 dirmngr.enable = true; 31 }; 32 };
··· 26 27 programs.gnupg = { 28 agent.enable = true; 29 dirmngr.enable = true; 30 }; 31 };
+1 -1
pkgs/applications/version-management/blackbox/default.nix
··· 31 expect 32 which 33 coreutils 34 - pinentry.tty 35 git 36 gnutar 37 procps
··· 31 expect 32 which 33 coreutils 34 + pinentry 35 git 36 gnutar 37 procps
+2 -2
pkgs/by-name/go/goldwarden/package.nix
··· 4 , makeBinaryWrapper 5 , libfido2 6 , dbus 7 - , pinentry 8 , nix-update-script 9 }: 10 ··· 29 30 postInstall = '' 31 wrapProgram $out/bin/goldwarden \ 32 - --suffix PATH : ${lib.makeBinPath [dbus pinentry]} 33 34 install -Dm644 $src/resources/com.quexten.goldwarden.policy -t $out/share/polkit-1/actions 35 '';
··· 4 , makeBinaryWrapper 5 , libfido2 6 , dbus 7 + , pinentry-gnome3 8 , nix-update-script 9 }: 10 ··· 29 30 postInstall = '' 31 wrapProgram $out/bin/goldwarden \ 32 + --suffix PATH : ${lib.makeBinPath [dbus pinentry-gnome3]} 33 34 install -Dm644 $src/resources/com.quexten.goldwarden.policy -t $out/share/polkit-1/actions 35 '';
+102 -82
pkgs/tools/security/pinentry/default.nix
··· 1 - { fetchurl, mkDerivation, fetchpatch, stdenv, lib, pkg-config, autoreconfHook, wrapGAppsHook 2 - , libgpg-error, libassuan, qtbase, wrapQtAppsHook 3 - , ncurses, gtk2, gcr 4 - , withLibsecret ? true, libsecret 5 - , enabledFlavors ? [ "curses" "tty" "gtk2" "emacs" ] 6 - ++ lib.optionals stdenv.isLinux [ "gnome3" ] 7 - ++ lib.optionals (!stdenv.isDarwin) [ "qt" ] 8 }: 9 10 - assert lib.isList enabledFlavors && enabledFlavors != []; 11 - 12 let 13 - pinentryMkDerivation = 14 - if (builtins.elem "qt" enabledFlavors) 15 - then mkDerivation 16 - else stdenv.mkDerivation; 17 - 18 - enableFeaturePinentry = f: 19 - let 20 - flag = flavorInfo.${f}.flag or null; 21 - in 22 - lib.optionalString (flag != null) 23 - (lib.enableFeature (lib.elem f enabledFlavors) ("pinentry-" + flag)); 24 - 25 flavorInfo = { 26 - curses = { bin = "curses"; flag = "curses"; buildInputs = [ ncurses ]; }; 27 - tty = { bin = "tty"; flag = "tty"; }; 28 - gtk2 = { bin = "gtk-2"; flag = "gtk2"; buildInputs = [ gtk2 ]; }; 29 - gnome3 = { bin = "gnome3"; flag = "gnome3"; buildInputs = [ gcr ]; nativeBuildInputs = [ wrapGAppsHook ]; }; 30 - qt = { bin = "qt"; flag = "qt"; buildInputs = [ qtbase ]; nativeBuildInputs = [ wrapQtAppsHook ]; }; 31 - emacs = { bin = "emacs"; flag = "emacs"; buildInputs = []; }; 32 }; 33 34 - in 35 36 - pinentryMkDerivation rec { 37 - pname = "pinentry"; 38 - version = "1.2.1"; 39 40 - src = fetchurl { 41 - url = "mirror://gnupg/pinentry/${pname}-${version}.tar.bz2"; 42 - sha256 = "sha256-RXoYXlqFI4+5RalV3GNSq5YtyLSHILYvyfpIx1QKQGc="; 43 - }; 44 45 - nativeBuildInputs = [ pkg-config autoreconfHook ] 46 - ++ lib.concatMap(f: flavorInfo.${f}.nativeBuildInputs or []) enabledFlavors; 47 48 - buildInputs = [ libgpg-error libassuan ] 49 - ++ lib.optional withLibsecret libsecret 50 - ++ lib.concatMap(f: flavorInfo.${f}.buildInputs or []) enabledFlavors; 51 52 - dontWrapGApps = true; 53 - dontWrapQtApps = true; 54 55 - patches = [ 56 - ./autoconf-ar.patch 57 - ] ++ lib.optionals (lib.elem "gtk2" enabledFlavors) [ 58 - (fetchpatch { 59 - url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch"; 60 - sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd"; 61 - }) 62 - ]; 63 64 - configureFlags = [ 65 - "--with-libgpg-error-prefix=${libgpg-error.dev}" 66 - "--with-libassuan-prefix=${libassuan.dev}" 67 - (lib.enableFeature withLibsecret "libsecret") 68 - ] ++ (map enableFeaturePinentry (lib.attrNames flavorInfo)); 69 70 - postInstall = 71 - lib.concatStrings (lib.flip map enabledFlavors (f: 72 - let 73 - binary = "pinentry-" + flavorInfo.${f}.bin; 74 - in '' 75 - moveToOutput bin/${binary} ${placeholder f} 76 - ln -sf ${placeholder f}/bin/${binary} ${placeholder f}/bin/pinentry 77 - '' + lib.optionalString (f == "gnome3") '' 78 - wrapGApp ${placeholder f}/bin/${binary} 79 - '' + lib.optionalString (f == "qt") '' 80 - wrapQtApp ${placeholder f}/bin/${binary} 81 - '')) + '' 82 - ln -sf ${placeholder (lib.head enabledFlavors)}/bin/pinentry-${flavorInfo.${lib.head enabledFlavors}.bin} $out/bin/pinentry 83 - ''; 84 85 - outputs = [ "out" ] ++ enabledFlavors; 86 87 - passthru = { flavors = enabledFlavors; }; 88 89 - meta = with lib; { 90 - homepage = "http://gnupg.org/aegypten2/"; 91 - description = "GnuPG’s interface to passphrase input"; 92 - license = licenses.gpl2Plus; 93 - platforms = platforms.all; 94 - longDescription = '' 95 - Pinentry provides a console and (optional) GTK and Qt GUIs allowing users 96 - to enter a passphrase when `gpg' or `gpg2' is run and needs it. 97 - ''; 98 - maintainers = with maintainers; [ ttuegel fpletz ]; 99 - }; 100 }
··· 1 + { stdenv 2 + , lib 3 + , fetchurl 4 + , fetchpatch 5 + , pkg-config 6 + , autoreconfHook 7 + , wrapGAppsHook 8 + , libgpg-error 9 + , libassuan 10 + , libsForQt5 11 + , ncurses 12 + , gtk2 13 + , gcr 14 + , withLibsecret ? true 15 + , libsecret 16 }: 17 18 let 19 flavorInfo = { 20 + tty = { flag = "tty"; }; 21 + curses = { 22 + flag = "curses"; 23 + buildInputs = [ ncurses ]; 24 + }; 25 + gtk2 = { 26 + flag = "gtk2"; 27 + buildInputs = [ gtk2 ]; 28 + }; 29 + gnome3 = { 30 + flag = "gnome3"; 31 + buildInputs = [ gcr ]; 32 + nativeBuildInputs = [ wrapGAppsHook ]; 33 + }; 34 + qt = { 35 + flag = "qt"; 36 + buildInputs = [ libsForQt5.qtbase ]; 37 + nativeBuildInputs = [ libsForQt5.wrapQtAppsHook ]; 38 + }; 39 + emacs = { flag = "emacs"; }; 40 }; 41 42 + buildPinentry = pinentryExtraPname: buildFlavors: 43 + let 44 + enableFeaturePinentry = f: 45 + lib.enableFeature (lib.elem f buildFlavors) ("pinentry-" + flavorInfo.${f}.flag); 46 47 + pinentryMkDerivation = 48 + if (lib.elem "qt" buildFlavors) 49 + then libsForQt5.mkDerivation 50 + else stdenv.mkDerivation; 51 52 + in 53 + pinentryMkDerivation rec { 54 + pname = "pinentry-${pinentryExtraPname}"; 55 + version = "1.2.1"; 56 57 + src = fetchurl { 58 + url = "mirror://gnupg/pinentry/pinentry-${version}.tar.bz2"; 59 + hash = "sha256-RXoYXlqFI4+5RalV3GNSq5YtyLSHILYvyfpIx1QKQGc="; 60 + }; 61 62 + nativeBuildInputs = [ pkg-config autoreconfHook ] 63 + ++ lib.concatMap (f: flavorInfo.${f}.nativeBuildInputs or [ ]) buildFlavors; 64 65 + buildInputs = [ libgpg-error libassuan ] 66 + ++ lib.optional withLibsecret libsecret 67 + ++ lib.concatMap (f: flavorInfo.${f}.buildInputs or [ ]) buildFlavors; 68 69 + dontWrapGApps = true; 70 + dontWrapQtApps = true; 71 72 + patches = [ 73 + ./autoconf-ar.patch 74 + ] ++ lib.optionals (lib.elem "gtk2" buildFlavors) [ 75 + (fetchpatch { 76 + url = "https://salsa.debian.org/debian/pinentry/raw/debian/1.1.0-1/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch"; 77 + sha256 = "15r1axby3fdlzz9wg5zx7miv7gqx2jy4immaw4xmmw5skiifnhfd"; 78 + }) 79 + ]; 80 81 + configureFlags = [ 82 + "--with-libgpg-error-prefix=${libgpg-error.dev}" 83 + "--with-libassuan-prefix=${libassuan.dev}" 84 + (lib.enableFeature withLibsecret "libsecret") 85 + ] ++ (map enableFeaturePinentry (lib.attrNames flavorInfo)); 86 87 + postInstall = 88 + lib.optionalString (lib.elem "gnome3" buildFlavors) '' 89 + wrapGApp $out/bin/pinentry-gnome3 90 + '' + lib.optionalString (lib.elem "qt" buildFlavors) '' 91 + wrapQtApp $out/bin/pinentry-qt 92 + ''; 93 94 + passthru = { flavors = buildFlavors; }; 95 96 + meta = with lib; { 97 + homepage = "https://gnupg.org/software/pinentry/index.html"; 98 + description = "GnuPG’s interface to passphrase input"; 99 + license = licenses.gpl2Plus; 100 + platforms = 101 + if elem "gnome3" buildFlavors then platforms.linux else 102 + if elem "qt" buildFlavors then (remove "aarch64-darwin" platforms.all) else 103 + platforms.all; 104 + longDescription = '' 105 + Pinentry provides a console and (optional) GTK and Qt GUIs allowing users 106 + to enter a passphrase when `gpg' or `gpg2' is run and needs it. 107 + ''; 108 + maintainers = with maintainers; [ fpletz ]; 109 + mainProgram = "pinentry"; 110 + }; 111 + }; 112 + in 113 + { 114 + pinentry-curses = buildPinentry "curses" [ "curses" "tty" ]; 115 + pinentry-gtk2 = buildPinentry "gtk2" [ "gtk2" "curses" "tty" ]; 116 + pinentry-gnome3 = buildPinentry "gnome3" [ "gnome3" "curses" "tty" ]; 117 + pinentry-qt = buildPinentry "qt" [ "qt" "curses" "tty" ]; 118 + pinentry-emacs = buildPinentry "emacs" [ "emacs" "curses" "tty" ]; 119 + pinentry-all = buildPinentry "all" [ "curses" "tty" "gtk2" "gnome3" "qt" "emacs" ]; 120 }
+11
pkgs/top-level/aliases.nix
··· 902 timescaledb = postgresqlPackages.timescaledb; 903 tsearch_extras = postgresqlPackages.tsearch_extras; 904 905 pinentry_curses = throw "'pinentry_curses' has been renamed to/replaced by 'pinentry-curses'"; # Converted to throw 2023-09-10 906 pinentry_emacs = throw "'pinentry_emacs' has been renamed to/replaced by 'pinentry-emacs'"; # Converted to throw 2023-09-10 907 pinentry_gnome = throw "'pinentry_gnome' has been renamed to/replaced by 'pinentry-gnome'"; # Converted to throw 2023-09-10 908 pinentry_gtk2 = throw "'pinentry_gtk2' has been renamed to/replaced by 'pinentry-gtk2'"; # Converted to throw 2023-09-10 909 pinentry_qt = throw "'pinentry_qt' has been renamed to/replaced by 'pinentry-qt'"; # Converted to throw 2023-09-10 910 pinentry_qt5 = pinentry-qt; # Added 2020-02-11 911 PlistCpp = plistcpp; # Added 2024-01-05 912 pocket-updater-utility = pupdate; # Added 2024-01-25 913 poetry2nix = throw "poetry2nix is now maintained out-of-tree. Please use https://github.com/nix-community/poetry2nix/"; # Added 2023-10-26
··· 902 timescaledb = postgresqlPackages.timescaledb; 903 tsearch_extras = postgresqlPackages.tsearch_extras; 904 905 + # pinentry was using multiple outputs, this emulates the old interface for i.e. home-manager 906 + # soon: throw "'pinentry' has been removed. Pick an appropriate variant like 'pinentry-curses' or 'pinentry-gnome3'"; 907 + pinentry = pinentry-all // { 908 + curses = pinentry-curses; 909 + gtk2 = pinentry-gtk2; 910 + gnome2 = pinentry-gnome3; 911 + qt = pinentry-qt; 912 + emacs = pinentry-emacs; 913 + flavors = [ "curses" "gtk2" "gnome2" "qt" "emacs" ]; 914 + }; # added 2024-01-15 915 pinentry_curses = throw "'pinentry_curses' has been renamed to/replaced by 'pinentry-curses'"; # Converted to throw 2023-09-10 916 pinentry_emacs = throw "'pinentry_emacs' has been renamed to/replaced by 'pinentry-emacs'"; # Converted to throw 2023-09-10 917 pinentry_gnome = throw "'pinentry_gnome' has been renamed to/replaced by 'pinentry-gnome'"; # Converted to throw 2023-09-10 918 pinentry_gtk2 = throw "'pinentry_gtk2' has been renamed to/replaced by 'pinentry-gtk2'"; # Converted to throw 2023-09-10 919 pinentry_qt = throw "'pinentry_qt' has been renamed to/replaced by 'pinentry-qt'"; # Converted to throw 2023-09-10 920 pinentry_qt5 = pinentry-qt; # Added 2020-02-11 921 + 922 PlistCpp = plistcpp; # Added 2024-01-05 923 pocket-updater-utility = pupdate; # Added 2024-01-25 924 poetry2nix = throw "poetry2nix is now maintained out-of-tree. Please use https://github.com/nix-community/poetry2nix/"; # Added 2023-10-26
+13 -9
pkgs/top-level/all-packages.nix
··· 11990 11991 piknik = callPackage ../tools/networking/piknik { }; 11992 11993 - pinentry = libsForQt5.callPackage ../tools/security/pinentry { }; 11994 - 11995 - pinentry-curses = (lib.getOutput "curses" pinentry); 11996 - pinentry-emacs = (lib.getOutput "emacs" pinentry); 11997 - pinentry-gtk2 = (lib.getOutput "gtk2" pinentry); 11998 - pinentry-qt = (lib.getOutput "qt" pinentry); 11999 - pinentry-gnome = (lib.getOutput "gnome3" pinentry); 12000 12001 pinentry_mac = callPackage ../tools/security/pinentry/mac.nix { 12002 inherit (darwin.apple_sdk.frameworks) Cocoa; ··· 30341 30342 bgpq4 = callPackage ../tools/networking/bgpq4 { }; 30343 30344 - blackbox = callPackage ../applications/version-management/blackbox { }; 30345 30346 bleachbit = callPackage ../applications/misc/bleachbit { }; 30347 ··· 41242 41243 linkchecker = callPackage ../tools/networking/linkchecker { }; 41244 41245 - tomb = callPackage ../os-specific/linux/tomb { }; 41246 41247 sccache = callPackage ../development/tools/misc/sccache { }; 41248
··· 11990 11991 piknik = callPackage ../tools/networking/piknik { }; 11992 11993 + inherit (callPackages ../tools/security/pinentry { }) 11994 + pinentry-curses 11995 + pinentry-emacs 11996 + pinentry-gtk2 11997 + pinentry-gnome3 11998 + pinentry-qt 11999 + pinentry-all; 12000 12001 pinentry_mac = callPackage ../tools/security/pinentry/mac.nix { 12002 inherit (darwin.apple_sdk.frameworks) Cocoa; ··· 30341 30342 bgpq4 = callPackage ../tools/networking/bgpq4 { }; 30343 30344 + blackbox = callPackage ../applications/version-management/blackbox { 30345 + pinentry = pinentry-curses; 30346 + }; 30347 30348 bleachbit = callPackage ../applications/misc/bleachbit { }; 30349 ··· 41244 41245 linkchecker = callPackage ../tools/networking/linkchecker { }; 41246 41247 + tomb = callPackage ../os-specific/linux/tomb { 41248 + pinentry = pinentry-curses; 41249 + }; 41250 41251 sccache = callPackage ../development/tools/misc/sccache { }; 41252
+3 -1
pkgs/top-level/python-packages.nix
··· 14972 14973 treq = callPackage ../development/python-modules/treq { }; 14974 14975 - trezor-agent = callPackage ../development/python-modules/trezor-agent { }; 14976 14977 trezor = callPackage ../development/python-modules/trezor { }; 14978
··· 14972 14973 treq = callPackage ../development/python-modules/treq { }; 14974 14975 + trezor-agent = callPackage ../development/python-modules/trezor-agent { 14976 + pinentry = pkgs.pinentry-curses; 14977 + }; 14978 14979 trezor = callPackage ../development/python-modules/trezor { }; 14980