diff --git a/lass/5pkgs/searx/default.nix b/lass/5pkgs/searx/default.nix
new file mode 100644
index 000000000..e5ce5788a
--- /dev/null
+++ b/lass/5pkgs/searx/default.nix
@@ -0,0 +1,69 @@
+{ lib, nixosTests, python3, python3Packages, fetchFromGitHub, fetchpatch }:
+
+with python3Packages;
+
+toPythonModule (buildPythonApplication rec {
+  pname = "searx";
+  version = "1.0.0";
+
+  # Can not use PyPI because certain test files are missing.
+  src = fetchFromGitHub {
+    owner = "searx";
+    repo = "searx";
+    rev = "v${version}";
+    sha256 = "0ghkx8g8jnh8yd46p4mlbjn2zm12nx27v7qflr4c8xhlgi0px0mh";
+  };
+
+  postPatch = ''
+    sed -i 's/==.*$//' requirements.txt
+  '';
+
+  preBuild = ''
+    export SEARX_DEBUG="true";
+  '';
+
+  propagatedBuildInputs = [
+    Babel
+    certifi
+    dateutil
+    flask
+    flaskbabel
+    gevent
+    grequests
+    jinja2
+    langdetect
+    lxml
+    ndg-httpsclient
+    pyasn1
+    pyasn1-modules
+    pygments
+    pysocks
+    pytz
+    pyyaml
+    requests
+    speaklater
+    werkzeug
+  ];
+
+  # tests try to connect to network
+  doCheck = false;
+  # checkInputs = [
+  #   Babel mock nose2 covCore pep8 plone-testing splinter
+  #   unittest2 zope_testrunner selenium
+  # ];
+
+  postInstall = ''
+    # Create a symlink for easier access to static data
+    mkdir -p $out/share
+    ln -s ../${python3.sitePackages}/searx/static $out/share/
+  '';
+
+  passthru.tests = { inherit (nixosTests) searx; };
+
+  meta = with lib; {
+    homepage = "https://github.com/searx/searx";
+    description = "A privacy-respecting, hackable metasearch engine";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ matejc fpletz globin danielfullmer ];
+  };
+})