diff --git a/pkgs/tools/security/ifdnfc/default.nix b/pkgs/tools/security/ifdnfc/default.nix
new file mode 100644
index 000000000000..5731f3ef8bb6
--- /dev/null
+++ b/pkgs/tools/security/ifdnfc/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub , pkgconfig
+, pcsclite
+, autoreconfHook
+, libnfc
+}:
+
+stdenv.mkDerivation rec {
+ name = "ifdnfc-${version}";
+ version = "2016-03-01";
+
+ src = fetchFromGitHub {
+ owner = "nfc-tools";
+ repo = "ifdnfc";
+ rev = "0e48e8e";
+ sha256 = "1cxnvhhlcbm8h49rlw5racspb85fmwqqhd3gzzpzy68vrs0b37vg";
+ };
+ nativeBuildInputs = [ pkgconfig autoreconfHook ];
+ buildInputs = [ pcsclite libnfc ];
+
+ configureFlags = [ "--prefix=$(out)" ];
+ makeFlags = [ "DESTDIR=/" "usbdropdir=$(out)/pcsc/drivers" ];
+
+ meta = with stdenv.lib; {
+ description = "PC/SC IFD Handler based on libnfc";
+ longDescription =
+ '' libnfc Interface Plugin to be used in services.pcscd.plugins
.
+ It provides support for all readers which are not supported by ccid but by libnfc.
+
+ For activating your reader you need to run
+ ifdnfc-activate yes with this package in your
+ environment.systemPackages
+
+ To use your reader you may need to blacklist your reader kernel modules:
+ boot.blacklistedKernelModules = [ "pn533" "pn533_usb" "nfc" ];
+
+ Supports the pn533 smart-card reader chip which is for example used in
+ the SCM SCL3711.
+ '';
+ homepage = https://github.com/nfc-tools/ifdnfc;
+ license = licenses.gpl3;
+ platforms = platforms.linux;
+ maintainers = with maintainers; [ makefu ];
+ };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7e4395b7fef0..c58ea359c27a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4626,6 +4626,7 @@ with pkgs;
pcsc-cyberjack = callPackage ../tools/security/pcsc-cyberjack { };
pcsc-scm-scl011 = callPackage ../tools/security/pcsc-scm-scl011 { };
+ ifdnfc = callPackage ../tools/security/ifdnfc { };
pdd = python3Packages.callPackage ../tools/misc/pdd { };