about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/mail/postfix.nix18
-rw-r--r--nixos/modules/services/networking/searx.nix60
-rw-r--r--nixos/tests/searx.nix20
-rw-r--r--pkgs/applications/audio/mopidy/youtube.nix4
-rw-r--r--pkgs/applications/audio/ncspot/default.nix6
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix6
-rw-r--r--pkgs/development/interpreters/dhall/build-dhall-package.nix2
-rw-r--r--pkgs/development/python-modules/faker/default.nix48
-rw-r--r--pkgs/development/python-modules/mpd2/default.nix4
-rw-r--r--pkgs/development/python-modules/pykira/default.nix25
-rw-r--r--pkgs/development/python-modules/pymyq/default.nix36
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix2
-rw-r--r--pkgs/development/python-modules/pyopnsense/default.nix45
-rw-r--r--pkgs/development/python-modules/pyvera/default.nix54
-rw-r--r--pkgs/development/python-modules/xknx/default.nix47
-rw-r--r--pkgs/development/tools/database/dbmate/deps.nix84
-rw-r--r--pkgs/development/tools/gofumpt/default.nix8
-rw-r--r--pkgs/development/tools/gotools/default.nix6
-rw-r--r--pkgs/misc/vim-plugins/generated.nix252
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix10
-rw-r--r--pkgs/servers/web-apps/searx/default.nix18
-rw-r--r--pkgs/tools/misc/disfetch/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix10
-rw-r--r--pkgs/top-level/unixtools.nix (renamed from pkgs/top-level/unix-tools.nix)0
26 files changed, 444 insertions, 328 deletions
diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix
index 795a76f748a7..1dcdcab8d481 100644
--- a/nixos/modules/services/mail/postfix.nix
+++ b/nixos/modules/services/mail/postfix.nix
@@ -25,8 +25,6 @@ let
 
   clientRestrictions = concatStringsSep ", " (clientAccess ++ dnsBl);
 
-  smtpTlsSecurityLevel = if cfg.useDane then "dane" else "may";
-
   mainCf = let
     escape = replaceStrings ["$"] ["$$"];
     mkList = items: "\n  " + concatStringsSep ",\n  " items;
@@ -510,14 +508,6 @@ in
         '';
       };
 
-      useDane = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Sets smtp_tls_security_level to "dane" rather than "may". See postconf(5) for details.
-        '';
-      };
-
       sslCert = mkOption {
         type = types.str;
         default = "";
@@ -819,13 +809,13 @@ in
       // optionalAttrs cfg.enableHeaderChecks { header_checks = [ "regexp:/etc/postfix/header_checks" ]; }
       // optionalAttrs (cfg.tlsTrustedAuthorities != "") {
         smtp_tls_CAfile = cfg.tlsTrustedAuthorities;
-        smtp_tls_security_level = smtpTlsSecurityLevel;
+        smtp_tls_security_level = mkDefault "may";
       }
       // optionalAttrs (cfg.sslCert != "") {
         smtp_tls_cert_file = cfg.sslCert;
         smtp_tls_key_file = cfg.sslKey;
 
-        smtp_tls_security_level = smtpTlsSecurityLevel;
+        smtp_tls_security_level = mkDefault "may";
 
         smtpd_tls_cert_file = cfg.sslCert;
         smtpd_tls_key_file = cfg.sslKey;
@@ -969,5 +959,9 @@ in
   imports = [
    (mkRemovedOptionModule [ "services" "postfix" "sslCACert" ]
      "services.postfix.sslCACert was replaced by services.postfix.tlsTrustedAuthorities. In case you intend that your server should validate requested client certificates use services.postfix.extraConfig.")
+
+   (mkChangedOptionModule [ "services" "postfix" "useDane" ]
+     [ "services" "postfix" "config" "smtp_tls_security_level" ]
+     (config: mkIf config.services.postfix.useDane "dane"))
   ];
 }
diff --git a/nixos/modules/services/networking/searx.nix b/nixos/modules/services/networking/searx.nix
index 85696beeba4a..a515e4a3dc3b 100644
--- a/nixos/modules/services/networking/searx.nix
+++ b/nixos/modules/services/networking/searx.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }:
+{ options, config, lib, pkgs, ... }:
 
 with lib;
 
@@ -6,42 +6,14 @@ let
   runDir = "/run/searx";
   cfg = config.services.searx;
 
-  hasEngines =
-    builtins.hasAttr "engines" cfg.settings &&
-    cfg.settings.engines != { };
-
-  # Script to merge NixOS settings with
-  # the default settings.yml bundled in searx.
-  mergeConfig = ''
+  generateConfig = ''
     cd ${runDir}
-    # find the default settings.yml
-    default=$(find '${cfg.package}/' -name settings.yml)
 
     # write NixOS settings as JSON
-    cat <<'EOF' > settings.json
+    cat <<'EOF' > settings.yml
       ${builtins.toJSON cfg.settings}
     EOF
 
-    ${optionalString hasEngines ''
-      # extract and convert the default engines array to an object
-      ${pkgs.yq-go}/bin/yq r "$default" engines -j | \
-      ${pkgs.jq}/bin/jq 'reduce .[] as $e ({}; .[$e.name] = $e)' \
-        > engines.json
-
-      # merge and update the NixOS engines with the newly created object
-      cp settings.json temp.json
-      ${pkgs.jq}/bin/jq -s '. as [$s, $e] | $s | .engines |=
-        ($e * . | to_entries | map (.value))' \
-        temp.json engines.json > settings.json
-
-      # clean up temporary files
-      rm {engines,temp}.json
-    ''}
-
-    # merge the default and NixOS settings
-    ${pkgs.yq-go}/bin/yq m -P settings.json "$default" > settings.yml
-    rm settings.json
-
     # substitute environment variables
     env -0 | while IFS='=' read -r -d ''' n v; do
       sed "s#@$n@#$v#g" -i settings.yml
@@ -51,6 +23,12 @@ let
     chmod 400 settings.yml
   '';
 
+  settingType = with types; (oneOf
+    [ bool int float str
+      (listOf settingType)
+      (attrsOf settingType)
+    ]) // { description = "JSON value"; };
+
 in
 
 {
@@ -86,15 +64,16 @@ in
       };
 
       settings = mkOption {
-        type = types.attrs;
+        type = types.attrsOf settingType;
         default = { };
         example = literalExample ''
           { server.port = 8080;
             server.bind_address = "0.0.0.0";
             server.secret_key = "@SEARX_SECRET_KEY@";
 
-            engines.wolframalpha =
-              { shortcut = "wa";
+            engines = lib.singleton
+              { name = "wolframalpha";
+                shortcut = "wa";
                 api_key = "@WOLFRAM_API_KEY@";
                 engine = "wolframalpha_api";
               };
@@ -155,9 +134,9 @@ in
       };
 
       uwsgiConfig = mkOption {
-        type = types.attrs;
+        type = options.services.uwsgi.instance.type;
         default = { http = ":8080"; };
-        example = lib.literalExample ''
+        example = literalExample ''
           {
             disable-logging = true;
             http = ":8080";                   # serve via HTTP...
@@ -199,7 +178,7 @@ in
         RuntimeDirectoryMode = "750";
       } // optionalAttrs (cfg.environmentFile != null)
         { EnvironmentFile = builtins.toPath cfg.environmentFile; };
-      script = mergeConfig;
+      script = generateConfig;
     };
 
     systemd.services.searx = mkIf (!cfg.runInUwsgi) {
@@ -221,6 +200,11 @@ in
         after = [ "searx-init.service" ];
       };
 
+    services.searx.settings = {
+      # merge NixOS settings with defaults settings.yml
+      use_default_settings = mkDefault true;
+    };
+
     services.uwsgi = mkIf (cfg.runInUwsgi) {
       enable = true;
       plugins = [ "python3" ];
@@ -241,6 +225,6 @@ in
 
   };
 
-  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+  meta.maintainers = with maintainers; [ rnhmjoj ];
 
 }
diff --git a/nixos/tests/searx.nix b/nixos/tests/searx.nix
index e5fee3466bfa..357ade105358 100644
--- a/nixos/tests/searx.nix
+++ b/nixos/tests/searx.nix
@@ -22,13 +22,15 @@ import ./make-test-python.nix ({ pkgs, ...} :
           bind_address = "0.0.0.0";
           secret_key = "@SEARX_SECRET_KEY@";
         };
-      settings.engines = {
-        wolframalpha =
-          { api_key = "@WOLFRAM_API_KEY@";
-            engine = "wolframalpha_api";
-          };
-        startpage.shortcut = "start";
-      };
+      settings.engines = [
+        { name = "wolframalpha";
+          api_key = "@WOLFRAM_API_KEY@";
+          engine = "wolframalpha_api";
+        }
+        { name = "startpage";
+          shortcut = "start";
+        }
+      ];
     };
 
   };
@@ -39,6 +41,9 @@ import ./make-test-python.nix ({ pkgs, ...} :
 
     services.searx = {
       enable = true;
+      # searx refuses to run if unchanged
+      settings.server.secret_key = "somesecret";
+
       runInUwsgi = true;
       uwsgiConfig = {
         # serve using the uwsgi protocol
@@ -106,4 +111,3 @@ import ./make-test-python.nix ({ pkgs, ...} :
           )
     '';
 })
-
diff --git a/pkgs/applications/audio/mopidy/youtube.nix b/pkgs/applications/audio/mopidy/youtube.nix
index e35338a5f0d6..35a85b958018 100644
--- a/pkgs/applications/audio/mopidy/youtube.nix
+++ b/pkgs/applications/audio/mopidy/youtube.nix
@@ -2,12 +2,12 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mopidy-youtube";
-  version = "3.1";
+  version = "3.2";
 
   src = python3Packages.fetchPypi {
     inherit version;
     pname = "Mopidy-YouTube";
-    sha256 = "1bn3nxianbal9f81z9wf2cxi893hndvrz2zdqvh1zpxrhs0cr038";
+    sha256 = "0wmalfqnskglssq3gj6kkrq6h6c9yab503y72afhkm7n9r5c57zz";
   };
 
   patchPhase = "sed s/bs4/beautifulsoup4/ -i setup.cfg";
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index a1019880318e..9cc96bd03a70 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -14,16 +14,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "ncspot";
-  version = "0.2.6";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
     rev = "v${version}";
-    sha256 = "0x40qzgw9zcih4q6mzclb7gqkw8h76hrmqzmg6nimpla29jcdxss";
+    sha256 = "1dfq6ickx24cq8zhhm0a8x5ycd0iygw065qd2blcgl0fim350zw9";
   };
 
-  cargoSha256 = "1pfl7cblf7d4ci514vlkdh1ybgby71x4aszxmlsrqmn92bq56jys";
+  cargoSha256 = "0z4af575rx6ggjxsw1q18kwsb4cvyy1kzfkp32v9n74krmy0fk8p";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index 3736c1c573d0..c73a92771382 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub, ronn, installShellFiles }:
+{ lib, buildGoPackage, fetchFromGitHub, ronn, installShellFiles }:
 
 buildGoPackage rec {
   pname = "git-lfs";
-  version = "2.13.1";
+  version = "2.13.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "git-lfs";
     repo = "git-lfs";
-    sha256 = "0n4gi7sh6d1maqwp12fsznrky9xwkk2jrmxfwa2hnk8wb2rhvlrm";
+    sha256 = "0gfpzdya48phwln61746ii78sq55mhzj938lz8x062xkkcsdvbf4";
   };
 
   goPackagePath = "github.com/git-lfs/git-lfs";
diff --git a/pkgs/development/interpreters/dhall/build-dhall-package.nix b/pkgs/development/interpreters/dhall/build-dhall-package.nix
index 039c50f06937..9fc9a4412156 100644
--- a/pkgs/development/interpreters/dhall/build-dhall-package.nix
+++ b/pkgs/development/interpreters/dhall/build-dhall-package.nix
@@ -85,6 +85,6 @@ in
     ${lib.optionalString (documentationRoot != null) ''
     mkdir -p $out/${dataDhall}
 
-    XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --input '${documentationRoot}' --output-link $out/docs
+    XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --input '${documentationRoot}' --package-name '${name}' --output-link $out/docs
     ''}
   ''
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index abdb0f583941..990908efe034 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -1,59 +1,45 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder,
-# Build inputs
-dateutil, six, text-unidecode, ipaddress ? null
-# Test inputs
-, email_validator
+{ lib
+, buildPythonPackage
+, fetchPypi
+, dateutil
+, text-unidecode
 , freezegun
-, mock
-, more-itertools
 , pytestCheckHook
-, pytestrunner
 , ukpostcodeparser
 , validators
 }:
 
-assert pythonOlder "3.3" -> ipaddress != null;
-
 buildPythonPackage rec {
   pname = "Faker";
-  version = "4.18.0";
+  version = "5.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0raxw6mgvf9523v7917zqw76vqnpp0d6v3i310qnjnhpxmm78yb2";
+    sha256 = "1bskhmiir1ajipj7j535j2mxgnp6s3mxbvlag4aryj9zbhgg1c19";
   };
 
-  nativeBuildInputs = [ pytestrunner ];
+  propagatedBuildInputs = [
+    dateutil
+    text-unidecode
+  ];
+
   checkInputs = [
-    email_validator
     freezegun
     pytestCheckHook
     ukpostcodeparser
     validators
-  ]
-  ++ lib.optionals (pythonOlder "3.3") [ mock ]
-  ++ lib.optionals (pythonOlder "3.0") [ more-itertools ];
+  ];
 
   # avoid tests which import random2, an abandoned library
   pytestFlagsArray = [
     "--ignore=tests/providers/test_ssn.py"
   ];
-
-  propagatedBuildInputs = [
-    dateutil
-    six
-    text-unidecode
-  ];
-
-  postPatch = ''
-    substituteInPlace setup.py --replace "pytest>=3.8.0,<3.9" "pytest"
-  '';
+  pythonImportsCheck = [ "faker" ];
 
   meta = with lib; {
-    description = "A Python library for generating fake user data";
-    homepage    = "http://faker.rtfd.org";
-    license     = licenses.mit;
+    description = "Python library for generating fake user data";
+    homepage = "http://faker.rtfd.org";
+    license = licenses.mit;
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/mpd2/default.nix b/pkgs/development/python-modules/mpd2/default.nix
index f842826d20bd..046a338a9931 100644
--- a/pkgs/development/python-modules/mpd2/default.nix
+++ b/pkgs/development/python-modules/mpd2/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "python-mpd2";
-  version = "3.0.1";
+  version = "3.0.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fxssbmnv44m03shjyvbqslc69b0160702j2s0flgvdxjggrnbjj";
+    sha256 = "0ibl2xyj4380ai60i2bfhm8qn1sjyjbwwjmgzfcqa12wlnhck7ki";
   };
 
   buildInputs = [ mock ];
diff --git a/pkgs/development/python-modules/pykira/default.nix b/pkgs/development/python-modules/pykira/default.nix
new file mode 100644
index 000000000000..43d381e6bce7
--- /dev/null
+++ b/pkgs/development/python-modules/pykira/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pykira";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zxglzmd2k1nc4wri76ykra910fdgli027nw9d6541ic7xmw87vj";
+  };
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pykira" ];
+
+  meta = with lib; {
+    description = "Python module to interact with Kira modules";
+    homepage = "https://github.com/stu-gott/pykira";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymyq/default.nix b/pkgs/development/python-modules/pymyq/default.nix
new file mode 100644
index 000000000000..2500909d534e
--- /dev/null
+++ b/pkgs/development/python-modules/pymyq/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, aiodns
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pymyq";
+  version = "2.0.14";
+
+  src = fetchFromGitHub {
+    owner = "arraylabs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "18825b9c6qk4zcvva79hpg6098z4zqxyapnqmjsli23npw0zh67w";
+  };
+
+  propagatedBuildInputs = [
+    aiodns
+    aiohttp
+    async-timeout
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pymyq" ];
+
+  meta = with lib; {
+    description = "Python wrapper for MyQ API";
+    homepage = "https://github.com/arraylabs/pymyq";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index 202607186b94..023e5f12fd48 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -56,7 +56,7 @@ let
     optionals (versionAtLeast (getVersion openssl.name) "1.1") failingOpenSSL_1_1Tests
   ) ++ (
     # https://github.com/pyca/pyopenssl/issues/974
-    optionals stdenv.isi686 [ "test_verify_with_time" ]
+    optionals stdenv.is32bit [ "test_verify_with_time" ]
   );
 
   # Compose the final string expression, including the "-k" and the single quotes.
diff --git a/pkgs/development/python-modules/pyopnsense/default.nix b/pkgs/development/python-modules/pyopnsense/default.nix
new file mode 100644
index 000000000000..f4f5bf6c70d4
--- /dev/null
+++ b/pkgs/development/python-modules/pyopnsense/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fixtures
+, mock
+, pbr
+, pytest-cov
+, pytestCheckHook
+, pythonOlder
+, requests
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "pyopnsense";
+  version = "0.3.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06rssdb3zhccnm63z96mw5yd38d9i99fgigfcdxn9divalbbhp5a";
+  };
+
+  propagatedBuildInputs = [
+    pbr
+    six
+    requests
+  ];
+
+  checkInputs = [
+    fixtures
+    mock
+    pytest-cov
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pyopnsense" ];
+
+  meta = with lib; {
+    description = "Python client for the OPNsense API";
+    homepage = "https://github.com/mtreinish/pyopnsense";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyvera/default.nix b/pkgs/development/python-modules/pyvera/default.nix
new file mode 100644
index 000000000000..4415ca7c376d
--- /dev/null
+++ b/pkgs/development/python-modules/pyvera/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, pytest-cov
+, pytest-asyncio
+, pytest-timeout
+, responses
+, pytestCheckHook
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pyvera";
+  version = "0.3.11";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "pavoni";
+    repo = pname;
+    rev = version;
+    sha256 = "0yi2cjd3jag95xa0k24f7d7agi26ywb3219a0j0k8l2nsx2sdi87";
+  };
+
+  patches = [
+    (fetchpatch {
+      # build-system section is missing https://github.com/pavoni/pyvera/pull/142
+      url = "https://github.com/pavoni/pyvera/pull/142/commits/e90995a8d55107118d324e8cf189ddf1d9e3aa6c.patch";
+      sha256 = "1psq3fiwg20kcwyybzh5g17dzn5fh29lhm238npyg846innbzgs7";
+    })
+  ];
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytest-timeout
+    pytest-cov
+    pytestCheckHook
+    responses
+  ];
+
+  pythonImportsCheck = [ "pyvera" ];
+
+  meta = with lib; {
+    description = "Python library to control devices via the Vera hub";
+    homepage = "https://github.com/pavoni/pyvera";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
new file mode 100644
index 000000000000..19720a55d23a
--- /dev/null
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, netifaces
+, voluptuous
+, pyyaml
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "xknx";
+  version = "0.16.0";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "XKNX";
+    repo = pname;
+    rev = version;
+    sha256 = "0a9pxah37ml2a5qpc841ps22d256003i8d4mix2gh7nwxab2qp8j";
+  };
+
+  propagatedBuildInputs = [
+    voluptuous
+    netifaces
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "xknx" ];
+
+  meta = with lib; {
+    description = "KNX Library Written in Python";
+    longDescription = ''
+      XKNX is an asynchronous Python library for reading and writing KNX/IP
+      packets. It provides support for KNX/IP routing and tunneling devices.
+    '';
+    homepage = "https://github.com/XKNX/xknx";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/tools/database/dbmate/deps.nix b/pkgs/development/tools/database/dbmate/deps.nix
deleted file mode 100644
index 97bfc10b20af..000000000000
--- a/pkgs/development/tools/database/dbmate/deps.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev =  "346938d642f2ec3594ed81d874461961cd0faa76";
-      sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
-    };
-  }
-  {
-    goPackagePath  = "github.com/go-sql-driver/mysql";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-sql-driver/mysql";
-      rev =  "2cc627ac8defc45d65066ae98f898166f580f9a4";
-      sha256 = "0n589y9ak2m6glaqmqlggrfv2hghy5i2906r123svf92ci4r9sww";
-    };
-  }
-  {
-    goPackagePath  = "github.com/joho/godotenv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/joho/godotenv";
-      rev =  "a79fa1e548e2c689c241d10173efd51e5d689d5b";
-      sha256 = "09610yqswxa02905mp9cqgsm50r76saagzddc55sqav4ad04j6qm";
-    };
-  }
-  {
-    goPackagePath  = "github.com/lib/pq";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lib/pq";
-      rev =  "19c8e9ad00952ce0c64489b60e8df88bb16dd514";
-      sha256 = "0lm79ja5id7phf1jwf1vs987azaxis0q7qr69px0r6gqiva0q0vz";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mattn/go-sqlite3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-sqlite3";
-      rev =  "6c771bb9887719704b210e87e934f08be014bdb1";
-      sha256 = "0x6s7hy3ab3qw6dfl81y7ighjva5j4rrzvqhppf1qwz5alpfmpdm";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath  = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev =  "b91bfb9ebec76498946beb6af7c0230c7cc7ba6c";
-      sha256 = "178xyfgsbs40jq406aqj0r67ik1b81gdc28z45nbcw6hfhz82rvl";
-    };
-  }
-  {
-    goPackagePath  = "github.com/urfave/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/urfave/cli";
-      rev =  "cfb38830724cc34fedffe9a2a29fb54fa9169cd1";
-      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
-    };
-  }
-  {
-    goPackagePath  = "google.golang.org/appengine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/appengine";
-      rev =  "150dc57a1b433e64154302bdc40b6bb8aefa313a";
-      sha256 = "0w3knznv39k8bm85ri62f83czcrxknql7dv6p9hk1a5jx3xljgxq";
-    };
-  }
-]
diff --git a/pkgs/development/tools/gofumpt/default.nix b/pkgs/development/tools/gofumpt/default.nix
index 82ae3d4bb7b8..e55cea0895be 100644
--- a/pkgs/development/tools/gofumpt/default.nix
+++ b/pkgs/development/tools/gofumpt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gofumpt";
-  version = "2020-10-27";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = pname;
-    rev = "85d5401eb0f699d87b0d6c949dd4c0d5fb23f2e0";
-    sha256 = "0n72d7p4y89kfilcdx3qb63qy6xm8dyp6q8s8954wrkm2wlhkwiy";
+    rev = "v${version}";
+    sha256 = "0xln0a5n8na3p6b7l8im3bh4ys5rr3k413ibzk8mnp471f5h1558";
   };
 
-  vendorSha256 = "1s546hp4ngzqvfx7dbd43k7b94z0mvndgdkndh4ypkkl3rpd9kkz";
+  vendorSha256 = "05qdwz1icl8in0j94gx9pgplidm2v29hsn4kgg5gw35bsbn1c7id";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index 2e13f67e9f77..eabf41f86639 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gotools-unstable";
-  version = "2020-10-27";
-  rev = "eafbe7b904eb2418efc832e36ac634dc09084f10";
+  version = "2021-01-13";
+  rev = "8b4aab62c064010e8e875d2e5a8e63a96fefc87d";
 
   src = fetchgit {
     inherit rev;
     url = "https://go.googlesource.com/tools";
-    sha256 = "0884znfbm44f4ddjkm0g7qg2a257kwzv1ismd2m225f3c69n3mdg";
+    sha256 = "1cmnm9fl2a6hiplj8s6x0l3czcw4xh3j3lvzbgccnp1l8kz8q2vm";
   };
 
   # The gopls folder contains a Go submodule which causes a build failure.
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index c00ba91e83a3..35abdcf5421e 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -65,12 +65,12 @@ let
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-01-08";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "54dd731cf14c809ebcc9c21b41084a17c5411744";
-      sha256 = "1j3jndx2cl7dxw7ilai7dxi1vkgjzh24k2vl43adai87gl6jqqs5";
+      rev = "97ce2423b04745d5c7588385ddbd75be9ef846d4";
+      sha256 = "1q55kd8xqxl43rvj08awyq32a0mrv4svm2932s6q73zb8022db4a";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -305,12 +305,12 @@ let
 
   brainfuck-vim = buildVimPluginFrom2Nix {
     pname = "brainfuck-vim";
-    version = "2021-01-08";
+    version = "2021-01-10";
     src = fetchFromGitHub {
       owner = "fruit-in";
       repo = "brainfuck-vim";
-      rev = "4e5344436f480d65d99c89d623e5564d71cdd0f7";
-      sha256 = "1p5kyy6z2nrnxdvwnpcvbd1xk9r0pqr3hayz3p7c2zi30rj0fdx5";
+      rev = "d58b673eaa3dbc58975e9b23c09eac57c3e1e4b5";
+      sha256 = "178m0ada1a0gijdwikycszls41kzgx6ysbd2aavlkbnrvclrkfa9";
     };
     meta.homepage = "https://github.com/fruit-in/brainfuck-vim/";
   };
@@ -341,12 +341,12 @@ let
 
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
-    version = "2020-12-30";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "calendar.vim";
-      rev = "1d352606aa4f9cf3116514669533b314f6e800a0";
-      sha256 = "16m7zpw5i2bjxj771856wahfk4y6rhk3qb0jifblma219gnqmhz4";
+      rev = "289fe67f9a20a88b93b570671cf8a5d258fc7b69";
+      sha256 = "17201r2nvy3jxf0f29ihqrln37xr4h3f2z20igjhajl3ajkg60h1";
     };
     meta.homepage = "https://github.com/itchyny/calendar.vim/";
   };
@@ -461,12 +461,12 @@ let
 
   coc-explorer = buildVimPluginFrom2Nix {
     pname = "coc-explorer";
-    version = "2021-01-04";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "weirongxu";
       repo = "coc-explorer";
-      rev = "1b88de2322b2f9adad4d5c1739289ed861afc8d0";
-      sha256 = "1xcc2zdgkc72vvnl83c97cyx12mx93ryik9wlyw48clsi02kw6aq";
+      rev = "e0a4cfa0fb856b31a6d16828ce3629b2901496f0";
+      sha256 = "0vadrkk92vrw48h7clbasqacyfcjn63ziq33740mciwa7a3h5bfg";
     };
     meta.homepage = "https://github.com/weirongxu/coc-explorer/";
   };
@@ -483,6 +483,18 @@ let
     meta.homepage = "https://github.com/antoinemadec/coc-fzf/";
   };
 
+  coc-lua = buildVimPluginFrom2Nix {
+    pname = "coc-lua";
+    version = "2021-01-08";
+    src = fetchFromGitHub {
+      owner = "josa42";
+      repo = "coc-lua";
+      rev = "ad83de5ef16299e026b7fce6a024c82b2b7110f5";
+      sha256 = "0b56af3z04vvlkr67yg3bfj71qycyhrv895p1sbfamj483hs7ds6";
+    };
+    meta.homepage = "https://github.com/josa42/coc-lua/";
+  };
+
   coc-neco = buildVimPluginFrom2Nix {
     pname = "coc-neco";
     version = "2020-04-07";
@@ -509,24 +521,24 @@ let
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc-nvim";
-    version = "2021-01-07";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "5b8af3eaee714f2c390f2f8e83ea47b78d24eab8";
-      sha256 = "1x088m180wk6b0gk1xdw8crmrhp7s05yshj8nigqyhafm589a7vf";
+      rev = "891c73f0deb3777870aed67c6ea6e5e184bafe27";
+      sha256 = "11wlsicv74vsxyr5l7q8r02h1wmf6zq3igxrp1anndv3j8mjbi09";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
 
   codi-vim = buildVimPluginFrom2Nix {
     pname = "codi-vim";
-    version = "2020-07-25";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "metakirby5";
       repo = "codi.vim";
-      rev = "08e26f4dc4bdb0cbc790474beb29a48e7a9c8ceb";
-      sha256 = "1qwacymipshfvvg7ya7gsfz1r65q44qjjsgya6wm81n04q9rpxfx";
+      rev = "cf62681a4962ce1873e4b2a5e0bf401dcd42890f";
+      sha256 = "15j08qa7sklm0pilfn3ljgq75hrv8y9h8xzj8ibrafp29640gkfl";
     };
     meta.homepage = "https://github.com/metakirby5/codi.vim/";
   };
@@ -594,12 +606,12 @@ let
 
   completion-nvim = buildVimPluginFrom2Nix {
     pname = "completion-nvim";
-    version = "2021-01-09";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "completion-nvim";
-      rev = "25dac52c4eb37bf28cc1b8fd6283b151db85e764";
-      sha256 = "1ljzva5zy1d5d5yfvpf57rjpfzp194rkf98arslns8i0as30kbmd";
+      rev = "d8eb3ba816d6bae9b741c23dee4d496e545a4ef8";
+      sha256 = "1nndg6lbsgfp65vpqw5bpjj2qa944c2x5s38jfrf2lp68hk39z23";
     };
     meta.homepage = "https://github.com/nvim-lua/completion-nvim/";
   };
@@ -870,24 +882,24 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2021-01-08";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "f7667ec03c4cdef1b4d9a95521d1ee5866f3f2de";
-      sha256 = "19s3809kasiybv18q6q7c36bf43cq9ndq7z5zpqrxgg6kf3my2d8";
+      rev = "d01c56ff3eab215c1485bd04d132b709f922de3e";
+      sha256 = "0b2hmdkbi9d1273f8pylb87hxq2mws4s8g06rmy61ycbq60ldg4k";
     };
     meta.homepage = "https://github.com/Shougo/denite.nvim/";
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2021-01-10";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "ff083e4b6cdf55e1695b0e1a6f4fde1c1a61bc06";
-      sha256 = "0rj7mwgdqr6qwn4wz96ypw5l97badgzvcdmqwa83jik4k99gy7k7";
+      rev = "e470e3df3e94181c6e8a20e62df564beb8d7df36";
+      sha256 = "17l0ykpib84lgq30dkfdk7s6gxb2dc20wg22z0pvf3slnyfdf8ra";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -1112,12 +1124,12 @@ let
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2021-01-08";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "0901b1886208a32880b92f22bf8f38a17e95045a";
-      sha256 = "0r66sjkgbbhgdalqnfyzy3ym3jiikyd10pi5236aqga75vysvk0s";
+      rev = "4c5acd271591c4b5e5420ce05c2b20eb7beb08e3";
+      sha256 = "1vy3n81y7f535adyplmy3pvvsgjdzrxcfqlzrwz62r4bspqqf42r";
     };
     meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
   };
@@ -1318,12 +1330,12 @@ let
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern-vim";
-    version = "2021-01-08";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "100764195f8cea2edf8a8c6a69a3cb707e35cf6d";
-      sha256 = "099mk22287zjgc0sy0v9vsw8l9ssa2rr56jasxpd6yswppafdrs7";
+      rev = "316c8ad965f7d23093bd36a792730f701b80fb2a";
+      sha256 = "1l04kjrnafj8509nmz349ki6xm5vzry9dqikgw5gsykrwgf8cp3a";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -1487,12 +1499,12 @@ let
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2020-12-30";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "fb4a1610d830806311595ad5b314eed5ec6b1893";
-      sha256 = "17a663rx6x7mmls3i8ix4njfqdvqsbcj5avhdk07y8icdyiwbrp0";
+      rev = "52883ef368c97b013dad5c9afcf6cd9bdae9875a";
+      sha256 = "06mw3y3idzsbr2kb74vlrwjds4pzgp1fknjbabdpw38y90ax0j8c";
     };
     meta.homepage = "https://github.com/ndmitchell/ghcid/";
   };
@@ -2112,12 +2124,12 @@ let
 
   lightline-vim = buildVimPluginFrom2Nix {
     pname = "lightline-vim";
-    version = "2020-11-21";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "lightline.vim";
-      rev = "709b2d8dc88fa622d6c076f34b05b58fcccf393f";
-      sha256 = "08v68ymwj6rralfmjpjggd29sc2pvan4yg1y7sysylwlmwl7nhlp";
+      rev = "8e013f32f524157bf14ccaa87d97be3d3a7201e2";
+      sha256 = "0yl5r1dv91wzkgflh37fd52dinwsm4rcf4kfizn4xg5lbzdafkmn";
     };
     meta.homepage = "https://github.com/itchyny/lightline.vim/";
   };
@@ -2160,12 +2172,12 @@ let
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine-nvim";
-    version = "2021-01-09";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "hoob3rt";
       repo = "lualine.nvim";
-      rev = "8742b6e466dff01657b1cd4187f2f25aa57d2916";
-      sha256 = "00i0mx18apx48lhzmc4fik0mbqm3vsfdp4pbl2z8d0fnmldhqx75";
+      rev = "823665c511d5727107a57e4f31205f92bb2c573e";
+      sha256 = "1krfj35zmbf9gznsh4npwhjmy132svbrivsy007vpz798lir7i06";
     };
     meta.homepage = "https://github.com/hoob3rt/lualine.nvim/";
   };
@@ -2520,12 +2532,12 @@ let
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2020-12-02";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "7e458dafae64b7f14f8c2eaecb886b7a85b8f66d";
-      sha256 = "00x6yx4y4m45p3silwz084scs1a602d4xazyr39lgc0ssv6d9jhv";
+      rev = "18aee89508fb7eea2bbff824dd1c33bdf7158d75";
+      sha256 = "1bq2m85kdlgak1df5gpslylq0x7fxf694gb2y18s33jxmpvnahxz";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
@@ -2652,12 +2664,12 @@ let
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2020-12-11";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdcommenter";
-      rev = "119b99d1662113a588734e3666213d246e50900d";
-      sha256 = "1dci0a5hcpvx567vqns7csn7p24i2m2l3ra8jmcvwrhlk72kvgrf";
+      rev = "7d2fb974a36b3c7773a90a749fcb92a40669e444";
+      sha256 = "1vq4wkywidmjr2g8z9js5173b15lr6zawxb0z12fmvaiwxpbli4z";
     };
     meta.homepage = "https://github.com/preservim/nerdcommenter/";
   };
@@ -2844,24 +2856,24 @@ let
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-01-09";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "8c68dc78d00fc9b55312108d48c4191ec3851f6a";
-      sha256 = "09mzkn7psfv4iaq3myi7mq5qymxz0jnisr0d0k927z64ca3vzjbq";
+      rev = "844d6f9d7af961eb27f876dc0cae9fe0fab5a769";
+      sha256 = "151s2n50zmvfgbb30h63cgzbbxi8vb5fagiyl4gr6vpfn6p64s4g";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
 
   nvim-lsputils = buildVimPluginFrom2Nix {
     pname = "nvim-lsputils";
-    version = "2021-01-08";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "RishabhRD";
       repo = "nvim-lsputils";
-      rev = "7f393053d303750868d17c8743c350a5503c3139";
-      sha256 = "0r17l5g8fpx7bax3sriawj0f7pkzj33vjr27i5yxa5934gxawv0q";
+      rev = "fae88180b573e935f4a0827eb096208a7c76b215";
+      sha256 = "1i7gmh3zb2i8jig0j6drvknsx5p4dxm1v8b6bdrnjgs4pyrpy7si";
     };
     meta.homepage = "https://github.com/RishabhRD/nvim-lsputils/";
   };
@@ -2892,24 +2904,24 @@ let
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree-lua";
-    version = "2020-12-28";
+    version = "2021-01-10";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "86944b51c0e0a8fed5a02ab44640b2b215cebe93";
-      sha256 = "1mmpzhsj17rc88hfsn86y2w97a1mz3fjix9p61wnhq1sf0finkhr";
+      rev = "361e20ecfa21c6bbc31436cf701ceb87e8e7bde7";
+      sha256 = "01yd5i56k8c7kii3gnxh3654d5a8kdmad974yicxj0jzgvawncn4";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-01-08";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "00ea65199e316aec5934cc2666ec9738e410b711";
-      sha256 = "1q37hd8cggx863d91ld9r4s51wld73pqgq93zwlg22i7qyl2v423";
+      rev = "39968ca258c89b796fc9ce5f3643ca8781150dd8";
+      sha256 = "0lcm37xrysypflyrblmbgn6sv8106mrjv9qg1rf4mn1sbdc7z4bp";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -3144,12 +3156,12 @@ let
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary-nvim";
-    version = "2020-12-30";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "08c0eabcb1fdcc5b72f60c3a328ae8eeb7ad374e";
-      sha256 = "1qn1cj9jiq33nldi5s7mrwxxi1y4wibygq3ii2a18x3v5xmw83zy";
+      rev = "e9b81e2bb98e00e9f6ca2b6a698cc8452fe2943e";
+      sha256 = "00j5gnx5jgrx7qmbxhrjsrdzp9krc5c7zij9a25jhz3l2j98xpdg";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -3794,12 +3806,12 @@ let
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2021-01-07";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "978e1fe761de8be1f4d6c8469deba74a3cc0872f";
-      sha256 = "0y9bd1y23z9w7ibn761yx5wq02liazv5dgxfqyy6xfxr17zvd514";
+      rev = "c7e7d5e565eca1c8a39a567a7a26cdc2512c1c7e";
+      sha256 = "0sqsh8vca1yvj253as4ky0l925czf8584k7zcbcimkjb35cp4d64";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -3842,12 +3854,12 @@ let
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-01-09";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "de80a9837cd1d207981c1f6dbf504436f8bfee13";
-      sha256 = "1zasdfn982akcgyyxvwwyp9vvh4p7kyi1gfkc57rj6jqkygwicsm";
+      rev = "57012550977679925176819345adc4d0dce85a00";
+      sha256 = "002c120ppz8g6xiqckq61nbr7zcfdh5n75hhzbcn0xqlagmi9p6y";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -3890,12 +3902,12 @@ let
 
   thumbnail-vim = buildVimPluginFrom2Nix {
     pname = "thumbnail-vim";
-    version = "2020-08-15";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "thumbnail.vim";
-      rev = "161ff743cb031eff376780108b018735d92160b0";
-      sha256 = "105a1a9kahfdicw1gkdhc88w41pyhmhv6yw2kh1flkaikzqlxbc8";
+      rev = "bfd408a3210c305aaf51e6ce31ac99497e6ab1ec";
+      sha256 = "1kh12d0dg932j9drby27fhg8vbjm8rwih33rm4yjba0316i8wcyv";
     };
     meta.homepage = "https://github.com/itchyny/thumbnail.vim/";
   };
@@ -4335,12 +4347,12 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2021-01-08";
+    version = "2021-01-10";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "fdfc11f53adce1bd6644a5dac6002106ef08db95";
-      sha256 = "1bas31zkrkz6pxsxnh5s4kph861z85gxg0fik0psd698yg9zzgc1";
+      rev = "0ca9576331ba845e7bf29f5e092f5da04f4f3580";
+      sha256 = "11ai8j7l1v6pviijvrayaw4wcs5720a0qpk35x99ir3dq7pflm54";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -4575,12 +4587,12 @@ let
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2021-01-08";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "284ef9a0b7776ab34d387fb403d500371a65cbda";
-      sha256 = "06jc831kcbpdh4k3890sh2srisbgljr0azx8g1g9fq0328qqnpbs";
+      rev = "07cac9de58ad1f1ce287e47ac41e7eb7bb4db6a3";
+      sha256 = "186d3mncgw6g4hrl6qv6wxnpy5mk5xkjpr0b03ql6z52iybcmxff";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -5163,12 +5175,12 @@ let
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2021-01-10";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "321354b5f6c2e4ec7247f73a8d47569363edeb86";
-      sha256 = "0r1a641az7wj6vqpk4sqii34x0k2xh2q74zsaa5iadjagidqcb54";
+      rev = "37c999def265ebf5463a925decc6604481f3c598";
+      sha256 = "1ix3q36hhb5k7y1c4r5qzmr8gyxk6amb3zk88bs85j36kn56mz4j";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -5331,12 +5343,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-01-09";
+    version = "2021-01-10";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "9ac9a4337e4e71ca434f97a7678f301eca7266f7";
-      sha256 = "06lzyakavb89k7pwhicqd2zc5rd12cjd6p8pb4m3xzw9kff6gzy1";
+      rev = "d68fc4d71d7c254c8fbd666a470b2d92c8a6d610";
+      sha256 = "04py4c52hlb8adkgywkn4hnibrsiczvmmf8b82wfr2sa1k5b9hbx";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -5584,12 +5596,12 @@ let
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2021-01-07";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "f8d01ab7417be5e3878678acd46e4d17e8d8d9b6";
-      sha256 = "1vnhvnxw7a4v583pw80lqcc9bb9lmcfzm1vhnskxrfxhz01r9ina";
+      rev = "19bfdcaafcc15b2d891c6c523c4ce80dfbba965a";
+      sha256 = "0c586j1icllyl0y54dayn4204w0rvfvv9srz51rk6k1n7rghr72n";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -5777,12 +5789,12 @@ let
 
   vim-jsx-pretty = buildVimPluginFrom2Nix {
     pname = "vim-jsx-pretty";
-    version = "2020-11-07";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "MaxMEllon";
       repo = "vim-jsx-pretty";
-      rev = "8059c9269ab62ffc4ccca587e2a2a894806fa5e6";
-      sha256 = "04jmmyz79mrq7mpl9kqrc8v28gn50jl93lzkyyhzp7dyhixgbgkm";
+      rev = "6989f1663cc03d7da72b5ef1c03f87e6ddb70b41";
+      sha256 = "16d76jvfb1cq591i06fnmgzv0q16g89zz7cmvgvj24vap2wgkbp8";
     };
     meta.homepage = "https://github.com/MaxMEllon/vim-jsx-pretty/";
   };
@@ -5969,12 +5981,12 @@ let
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2021-01-10";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "3ed0e7aa31d42fdb1551fd9471357203e8c2c8bc";
-      sha256 = "1d09i31rckdx4bqp7nf8v7kzax3xx7n021838fa1by1c2zvyzrhz";
+      rev = "3bca7e8c8a794fde38075e7df9d14c286d055a84";
+      sha256 = "1x9rb34a9542rn2dx2kaz4iq83swpq56144h81pr8l080r6vi2l6";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -6054,12 +6066,12 @@ let
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2020-12-09";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "24407e21e0a977e67774f70e0065dd3fea8d7595";
-      sha256 = "03bmlvvfsyr5ccfjfrnl1r5wzkvarmdbm735abal02pifni05k1r";
+      rev = "c74467ea130f99bc97697f91b0e5369f958e6333";
+      sha256 = "0w03l0iri8wsjm3fz3ysqqhl38gkfqci4b3dfkbshy2civpg2g7j";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -6186,12 +6198,12 @@ let
 
   vim-nerdtree-syntax-highlight = buildVimPluginFrom2Nix {
     pname = "vim-nerdtree-syntax-highlight";
-    version = "2020-07-19";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "tiagofumo";
       repo = "vim-nerdtree-syntax-highlight";
-      rev = "1acc12aa7f773ede38538293332905f1ba3fea6a";
-      sha256 = "0zm023mhi1si9g5r46md1v4rlls6z2m6kyn1jcfxjqyrgba67899";
+      rev = "5178ee4d7f4e7761187df30bb709f703d91df18a";
+      sha256 = "0i690a9sd3a9193mdm150q5yx43mihpzkm0k5glllsmnwpngrq1a";
     };
     meta.homepage = "https://github.com/tiagofumo/vim-nerdtree-syntax-highlight/";
   };
@@ -6270,12 +6282,12 @@ let
 
   vim-numbertoggle = buildVimPluginFrom2Nix {
     pname = "vim-numbertoggle";
-    version = "2020-12-30";
+    version = "2021-01-12";
     src = fetchFromGitHub {
       owner = "jeffkreeftmeijer";
       repo = "vim-numbertoggle";
-      rev = "4e4fda05db27e698c8ad4dff7c17bec54bb10a0c";
-      sha256 = "0crrgdz5wyriylj28sn0sil732wfnhnz35zaydqgp2csqi9s9xcb";
+      rev = "df9b1fe616507340718716204ba7f434125bdf7a";
+      sha256 = "02zgzkwv2fk4zyg6agvski054nwkrm1m9dw0jpva57ksbf8rvqrg";
     };
     meta.homepage = "https://github.com/jeffkreeftmeijer/vim-numbertoggle/";
   };
@@ -6294,12 +6306,12 @@ let
 
   vim-ocaml = buildVimPluginFrom2Nix {
     pname = "vim-ocaml";
-    version = "2021-01-01";
+    version = "2021-01-10";
     src = fetchFromGitHub {
       owner = "ocaml";
       repo = "vim-ocaml";
-      rev = "2a18135901b312e5159f30e26786d657919281a4";
-      sha256 = "00xyj3bzd76cdc60wiw42b4d35nlxshr9xh4n4c6jf1wavm1clfj";
+      rev = "f51b69f46d5eb0ebbdfcd39b5aa36bfd9454eafd";
+      sha256 = "0fs5pn2hhi0mnjz0xpjl0sh4032s4n4afzjrnhygw9l9a5m51dm4";
     };
     meta.homepage = "https://github.com/ocaml/vim-ocaml/";
   };
@@ -6378,12 +6390,12 @@ let
 
   vim-oscyank = buildVimPluginFrom2Nix {
     pname = "vim-oscyank";
-    version = "2021-01-05";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "vim-oscyank";
-      rev = "755561cd3e4532009dc75c997f8cb0e5f50c9ed7";
-      sha256 = "18vgmmnds5zfnn1v285g4s0yq7zpj9nwkdm1l5rcnx986rdrbgyw";
+      rev = "ffac2ecab211469a1f9a4d17d42bc543214112f5";
+      sha256 = "08vkalypqcrj4p2znx2gih7b1i87pk2ygybvl8a7hby13gwrm8v1";
     };
     meta.homepage = "https://github.com/ojroques/vim-oscyank/";
   };
@@ -6678,12 +6690,12 @@ let
 
   vim-puppet = buildVimPluginFrom2Nix {
     pname = "vim-puppet";
-    version = "2021-01-09";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "rodjek";
       repo = "vim-puppet";
-      rev = "d2cfbfe7b6a810f0be4de1f024a75ce6e9d9a260";
-      sha256 = "049fimc3mvn6c6cfwg8i1kzjn81arx60gyid39wsi2h0gb1sxv12";
+      rev = "cee73ec40ee21083c3fc1e1fede2c288fa46c2c3";
+      sha256 = "0mbsslhwjnjg8l39pbqj4zlirqvysj21xq01fb6dnld7rl7qrxyg";
     };
     meta.homepage = "https://github.com/rodjek/vim-puppet/";
   };
@@ -7062,24 +7074,24 @@ let
 
   vim-snipmate = buildVimPluginFrom2Nix {
     pname = "vim-snipmate";
-    version = "2021-01-06";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "garbas";
       repo = "vim-snipmate";
-      rev = "51168d7dc184c8234e692cd66e89bc7f95e35d72";
-      sha256 = "1psxnv6y690nx6g3msyxw8gm6z16gxdn92rlngpjirgs513kigin";
+      rev = "a5b5dd46e9c2b796599ff4530e1c8d29fdd77945";
+      sha256 = "05k6irv1p8kglznz9pfdzlb3qplf6y1k4x9qr3zcidv79hldg0b5";
     };
     meta.homepage = "https://github.com/garbas/vim-snipmate/";
   };
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2021-01-07";
+    version = "2021-01-11";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "d43498c949a3acf297fd74397a3bc165033f2028";
-      sha256 = "1q0b3xsr1br172n6mj5bfza2lcacznlnwk2sgasxz8bkdq1rk6mi";
+      rev = "29d37483c4a8dad8baf0684f73541f6364dd3734";
+      sha256 = "0dav4125sjrbj5mg0d76ivsadz9mh8skzaixzifxs2cq2zl3n0s1";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -7856,12 +7868,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-01-08";
+    version = "2021-01-13";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "7806f0f5e1615d4ce9cef6b7edfb6ec6b1b7e666";
-      sha256 = "0j1b1lf8y58jqp4r9vjw266nxlf38gz509qzaxp3n0sb4svg93pw";
+      rev = "aebcaddf2ede37e04812a2804b0d951dacdfa150";
+      sha256 = "0cf94yv9zmksnvsv4d8xyqk48d4v3k7zs1cb01g7l4m34cx0gv99";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index b6816892243a..c61fd8ef3a19 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -206,6 +206,7 @@ jnurmine/zenburn
 jonbri/vim-colorstepper
 jonsmithers/vim-html-template-literals
 joonty/vim-xdebug
+josa42/coc-lua
 josa42/vim-lightline-coc
 joshdick/onedark.vim
 jpalardy/vim-slime@main
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 1c5ec6235f83..0d555ad6f6db 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -416,9 +416,9 @@
     "kef" = ps: with ps; [ aiokef getmac ];
     "keyboard" = ps: with ps; [ ]; # missing inputs: pyuserinput
     "keyboard_remote" = ps: with ps; [ aionotify evdev ];
-    "kira" = ps: with ps; [ ]; # missing inputs: pykira
+    "kira" = ps: with ps; [ pykira ];
     "kiwi" = ps: with ps; [ ]; # missing inputs: kiwiki-client
-    "knx" = ps: with ps; [ ]; # missing inputs: xknx
+    "knx" = ps: with ps; [ xknx ];
     "kodi" = ps: with ps; [ ]; # missing inputs: pykodi
     "konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected
     "kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky
@@ -519,7 +519,7 @@
     "mvglive" = ps: with ps; [ PyMVGLive ];
     "mychevy" = ps: with ps; [ ]; # missing inputs: mychevy
     "mycroft" = ps: with ps; [ ]; # missing inputs: mycroftapi
-    "myq" = ps: with ps; [ ]; # missing inputs: pymyq
+    "myq" = ps: with ps; [ pymyq ];
     "mysensors" = ps: with ps; [ aiohttp-cors paho-mqtt ]; # missing inputs: pymysensors
     "mystrom" = ps: with ps; [ aiohttp-cors python-mystrom ];
     "mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns
@@ -590,7 +590,7 @@
     "opentherm_gw" = ps: with ps; [ ]; # missing inputs: pyotgw
     "openuv" = ps: with ps; [ ]; # missing inputs: pyopenuv
     "openweathermap" = ps: with ps; [ pyowm ];
-    "opnsense" = ps: with ps; [ ]; # missing inputs: pyopnsense
+    "opnsense" = ps: with ps; [ pyopnsense ];
     "opple" = ps: with ps; [ ]; # missing inputs: pyoppleio
     "orangepi_gpio" = ps: with ps; [ ]; # missing inputs: OPi.GPIO
     "oru" = ps: with ps; [ ]; # missing inputs: oru
@@ -894,7 +894,7 @@
     "velbus" = ps: with ps; [ ]; # missing inputs: python-velbus
     "velux" = ps: with ps; [ ]; # missing inputs: pyvlx
     "venstar" = ps: with ps; [ ]; # missing inputs: venstarcolortouch
-    "vera" = ps: with ps; [ ]; # missing inputs: pyvera
+    "vera" = ps: with ps; [ pyvera ];
     "verisure" = ps: with ps; [ jsonpath ]; # missing inputs: vsure
     "versasense" = ps: with ps; [ ]; # missing inputs: pyversasense
     "version" = ps: with ps; [ pyhaversion ];
diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix
index 41654a2f0bd9..bb9944ea3772 100644
--- a/pkgs/servers/web-apps/searx/default.nix
+++ b/pkgs/servers/web-apps/searx/default.nix
@@ -4,18 +4,24 @@ with python3Packages;
 
 toPythonModule (buildPythonApplication rec {
   pname = "searx";
-  version = "0.17.0";
+  version = "0.18.0";
 
   # Can not use PyPI because certain test files are missing.
   src = fetchFromGitHub {
-    owner = "asciimoo";
+    owner = "searx";
     repo = "searx";
     rev = "v${version}";
-    sha256 = "0pznz3wsaikl8khmzqvj05kzh5y07hjw8gqhy6x0lz1b00cn5af4";
+    sha256 = "0idxspvckvsd02v42h4z4wqrfkn1l8n59i91f7pc837cxya8p6hn";
   };
 
   postPatch = ''
     sed -i 's/==.*$//' requirements.txt
+    # skip failing test
+    sed -i '/test_json_serial(/,+3d' tests/unit/test_standalone_searx.py
+  '';
+
+  preBuild = ''
+    export SEARX_DEBUG="true";
   '';
 
   propagatedBuildInputs = [
@@ -30,10 +36,6 @@ toPythonModule (buildPythonApplication rec {
     unittest2 zope_testrunner selenium
   ];
 
-  preCheck = ''
-    rm tests/test_robot.py # A variable that is imported is commented out
-  '';
-
   postInstall = ''
     # Create a symlink for easier access to static data
     mkdir -p $out/share
@@ -43,7 +45,7 @@ toPythonModule (buildPythonApplication rec {
   passthru.tests = { inherit (nixosTests) searx; };
 
   meta = with lib; {
-    homepage = "https://github.com/asciimoo/searx";
+    homepage = "https://github.com/searx/searx";
     description = "A privacy-respecting, hackable metasearch engine";
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ matejc fpletz globin danielfullmer ];
diff --git a/pkgs/tools/misc/disfetch/default.nix b/pkgs/tools/misc/disfetch/default.nix
index d80247801f0c..30d4d79488e1 100644
--- a/pkgs/tools/misc/disfetch/default.nix
+++ b/pkgs/tools/misc/disfetch/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "disfetch";
-  version = "1.12";
+  version = "1.13";
 
   src = fetchFromGitHub {
     owner = "llathasa-veleth";
     repo = "disfetch";
     rev = version;
-    sha256 = "1zm8q0fx695x28zg8ihzk3w41439v47n68cw6k551x31mls939yn";
+    sha256 = "14vccp1z0g2hr9alx2ydz29hfa4xfv9irdjsvqm94fbyi5fa87k0";
   };
 
   dontBuild = true;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 284d974e3a84..ac77d022c609 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -29173,7 +29173,7 @@ in
   apeClex = callPackage ../applications/misc/ape/apeclex.nix { };
 
   # Unix tools
-  unixtools = recurseIntoAttrs (callPackages ./unix-tools.nix { });
+  unixtools = recurseIntoAttrs (callPackages ./unixtools.nix { });
   inherit (unixtools) hexdump ps logger eject umount
                       mount wall hostname more sysctl getconf
                       getent locale killall xxd watch;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4fc535f60f4f..8e7b776d1842 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5428,6 +5428,8 @@ in {
 
   pykickstart = callPackage ../development/python-modules/pykickstart { };
 
+  pykira = callPackage ../development/python-modules/pykira { };
+
   pykka = callPackage ../development/python-modules/pykka { };
 
   pykwalify = callPackage ../development/python-modules/pykwalify { };
@@ -5536,6 +5538,8 @@ in {
 
   PyMVGLive = callPackage ../development/python-modules/pymvglive { };
 
+  pymyq = callPackage ../development/python-modules/pymyq { };
+
   pymysql = callPackage ../development/python-modules/pymysql { };
 
   pymysqlsa = callPackage ../development/python-modules/pymysqlsa { };
@@ -5595,6 +5599,8 @@ in {
 
   pyopenssl = callPackage ../development/python-modules/pyopenssl { };
 
+  pyopnsense = callPackage ../development/python-modules/pyopnsense { };
+
   pyosf = callPackage ../development/python-modules/pyosf { };
 
   pyosmium = callPackage ../development/python-modules/pyosmium { };
@@ -6360,6 +6366,8 @@ in {
 
   pyvcf = callPackage ../development/python-modules/pyvcf { };
 
+  pyvera = callPackage ../development/python-modules/pyvera { };
+
   pyviz-comms = callPackage ../development/python-modules/pyviz-comms { };
 
   pyvips = callPackage ../development/python-modules/pyvips {
@@ -8172,6 +8180,8 @@ in {
 
   xkcdpass = callPackage ../development/python-modules/xkcdpass { };
 
+  xknx = callPackage ../development/python-modules/xknx { };
+
   xlib = callPackage ../development/python-modules/xlib { };
 
   xlrd = callPackage ../development/python-modules/xlrd { };
diff --git a/pkgs/top-level/unix-tools.nix b/pkgs/top-level/unixtools.nix
index b4f708ad5651..b4f708ad5651 100644
--- a/pkgs/top-level/unix-tools.nix
+++ b/pkgs/top-level/unixtools.nix