diff --git a/overlay.nix b/overlay.nix
index 0736c5af5..482bf901e 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -174,7 +174,7 @@ extraPkgs // {
   });
 
   pppBuild = prev.ppp;
-  ppp =
+  pppOld =
     (prev.ppp.override {
       libpcap = null;
     }).overrideAttrs (o : {
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 61ae3e291..dd2520cdd 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -16,6 +16,7 @@
   s6-init-bin =  callPackage ./s6-init-bin {};
   s6-rc-database = callPackage ./s6-rc-database {};
   mips-vm = callPackage ./mips-vm {};
+  ppp = callPackage ./ppp {};
   pppoe = callPackage ./pppoe {};
 
   kernel-backport = callPackage ./kernel-backport {};
diff --git a/pkgs/ppp/default.nix b/pkgs/ppp/default.nix
new file mode 100644
index 000000000..ca7b623ab
--- /dev/null
+++ b/pkgs/ppp/default.nix
@@ -0,0 +1,40 @@
+{
+  fetchFromGitHub
+, stdenv
+, autoreconfHook
+, substituteAll
+# , openssl
+}: stdenv.mkDerivation {
+  pname  = "ppp";
+  version = "2.5.0";
+  nativeBuildInputs = [ autoreconfHook ];
+#  buildInputs= [ openssl ];
+
+  src = fetchFromGitHub {
+    repo = "ppp";
+    owner = "ppp-project";
+    rev = "ppp-2.5.0";
+    hash = "sha256-J7udiLiJiJ1PzNxD+XYAUPXZ+ABGXt2U3hSFUWJXe94=";
+  };
+
+  configureFlags = [
+    "--disable-eaptls"
+    "--disable-peap"
+    "--disable-openssl-engine"
+    "--without-openssl"
+  ];
+
+  postPatch = ''
+    sed -i.bak pppd/crypto_ms.c -e '/#include <openssl\/evp.h>/d'
+    sed -i.bak pppd/ppp-sha1.c -e 's/u_int32_t/uint32_t/g' -e '1i#include <stdint.h>'
+  '';
+
+  outputs = [
+    "bin"
+    "out"
+    "man"
+    "dev"
+  ];
+
+
+}