From 53496a2d8ecc80754080efa5ae1d5199dd0fb5cf Mon Sep 17 00:00:00 2001 From: willemml Date: Mon, 30 Jan 2023 10:29:20 -0800 Subject: [PATCH] add pinentry-touchid for mac --- packages.nix | 1 + packages/pinentry-touchid.nix | 39 +++++++++++++++++++++++++++++++++++ programs.nix | 1 + 3 files changed, 41 insertions(+) create mode 100644 packages/pinentry-touchid.nix diff --git a/packages.nix b/packages.nix index 978b240..1ecc549 100644 --- a/packages.nix +++ b/packages.nix @@ -9,6 +9,7 @@ let karabiner-elements pinentry_mac spoof-mac + (pkgs.callPackage ./packages/pinentry-touchid.nix { inherit pkgs; }) (pkgs.callPackage ./packages/qbittorrent-mac.nix { inherit pkgs; }) (pkgs.callPackage ./packages/spotify-mac.nix { inherit pkgs; }) (pkgs.callPackage ./packages/vlc-mac.nix { inherit pkgs; }) diff --git a/packages/pinentry-touchid.nix b/packages/pinentry-touchid.nix new file mode 100644 index 0000000..8b4d164 --- /dev/null +++ b/packages/pinentry-touchid.nix @@ -0,0 +1,39 @@ +{ stdenv, pkgs, fetchFromGitHub, ... }: + +pkgs.mkShell { + name = "pinentry-touchid"; + src = fetchFromGitHub { + owner = "jorgelbg"; + repo = "pinentry-touchid"; + rev = "1170eb6bc7b23313aee622887b47b77be6e5fb5f"; + sha256 = "sha256-DT8vYDcBD5FMMVe4JcxNmYnfJ1o18deiKkfVQcW3AN0="; + }; + + buildInputs = with pkgs; [ + go + gopls + gotools + darwin.apple_sdk.frameworks.CoreFoundation + darwin.apple_sdk.frameworks.Foundation + darwin.apple_sdk.frameworks.LocalAuthentication + ]; + + buildPhase = '' + unset GOPATH GOROOT + export NIX_LDFLAGS="-F${pkgs.darwin.apple_sdk.frameworks.CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS"; + + go mod download + + go build + ''; + + installPhase = '' + mkdir -p $out/bin + cp pinentry-touchid $out/bin/. + ''; + + shellHook = '' + unset GOPATH GOROOT + export NIX_LDFLAGS="-F${pkgs.darwin.apple_sdk.frameworks.CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS"; + ''; +} diff --git a/programs.nix b/programs.nix index 671f31c..b4f94c0 100644 --- a/programs.nix +++ b/programs.nix @@ -136,6 +136,7 @@ email = "open -a Mail"; o = "open -a"; am = lib.mkIf pkgs.stdenv.isDarwin "zsh ~/.config/zsh/am.sh"; + pinentry = "pinentry-mac"; }; };