From 395fc06431dd2d89f2a2718867266df249463598 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Mon, 4 Dec 2023 17:50:44 +0100 Subject: [PATCH 01/32] lib: Add contribution guidelines Co-Authored-By: Robert Hensing --- lib/README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/lib/README.md b/lib/README.md index 220940bc2122..32a85eba8740 100644 --- a/lib/README.md +++ b/lib/README.md @@ -36,6 +36,69 @@ The [module system](https://nixos.org/manual/nixpkgs/#module-system) spans multi - [`options.nix`](options.nix): `lib.options` for anything relating to option definitions - [`types.nix`](types.nix): `lib.types` for module system types +## PR Guidelines + +Follow these guidelines for proposing a change to the interface of `lib`. + +### Provide a Motivation + +Clearly describe why the change is necessary and its use cases. + +Make sure that the change benefits the user more than the added mental effort of looking it up and keeping track of its definition. +If the same can reasonably be done with the existing interface, +consider just updating the documentation with more examples and links. +This is also known as the [Fairbairn Threshold](https://wiki.haskell.org/Fairbairn_threshold). + +Through this principle we avoid the human cost of duplicated functionality in an overly large library. + +### Make one PR for each change + +Don't have multiple changes in one PR, instead split it up into multiple ones. + +This keeps the conversation focused and has a higher chance of getting merged. + +### Name the interface appropriately + +When introducing new names to the interface, such as new function, or new function attributes, +make sure to name it appropriately. + +Names should be self-explanatory and consistent with the rest of `lib`. +If there's no obvious best name, include the alternatives you considered. + +### Write documentation + +Update the [reference documentation](#reference-documentation) to reflect the change. + +Be generous with links to related functionality. + +### Write tests + +Add good test coverage for the change, including: + +- Tests for edge cases, such as empty values or lists. +- Tests for tricky inputs, such as a string with string context or a path that doesn't exist. +- Test all code paths, such as `if-then-else` branches and returned attributes. +- If the tests for the sub-library are written in bash, + test messages of custom errors, such as `throw` or `abortMsg`, + + At the time this is only not necessary for sub-libraries tested with [`tests/misc.nix`](./tests/misc.nix). + +See [running tests](#running-tests) for more details on the test suites. + +### Write tidy code + +Name variables well, even if they're internal. +The code should be as self-explanatory as possible. +Be generous with code comments when appropriate. + +As a baseline, follow the [Nixpkgs code conventions](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#code-conventions). + +### Write efficient code + +Nix generally does not have free abstractions. +Be aware that seemingly straightforward changes can cause more allocations and a decrease in performance. +That said, don't optimise prematurely, especially in new code. + ## Reference documentation Reference documentation for library functions is written above each function as a multi-line comment. From f1ea01f944d8c4c3533aa99f9b9884ee175385ab Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Wed, 13 Dec 2023 13:22:43 +1100 Subject: [PATCH 02/32] rPackages.tesseract: fix build --- pkgs/development/r-modules/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index 4f7bdd92477e..a7489afd30a0 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -1387,6 +1387,13 @@ let ''; }); + tesseract = old.tesseract.overrideAttrs (_: { + preConfigure = '' + substituteInPlace configure \ + --replace 'PKG_CONFIG_NAME="tesseract"' 'PKG_CONFIG_NAME="tesseract lept"' + ''; + }); + ijtiff = old.ijtiff.overrideAttrs (_: { preConfigure = '' patchShebangs configure From bb1ab2997f9cb8b0579833d2e0df7fb141cd0aec Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 11 Dec 2023 11:31:28 +0100 Subject: [PATCH 03/32] trufflehog: 3.63.1 -> 3.63.2 Diff: https://github.com/trufflesecurity/trufflehog/compare/refs/tags/v3.63.1...v3.63.2 Changelog: https://github.com/trufflesecurity/trufflehog/releases/tag/v3.63.2 --- pkgs/tools/security/trufflehog/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix index fcaf193e3261..ca8820e8a862 100644 --- a/pkgs/tools/security/trufflehog/default.nix +++ b/pkgs/tools/security/trufflehog/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "trufflehog"; - version = "3.63.1"; + version = "3.63.2"; src = fetchFromGitHub { owner = "trufflesecurity"; repo = "trufflehog"; rev = "refs/tags/v${version}"; - hash = "sha256-YZH3f5m/7RFf8acmDCw4wQY6LgI98I+5kTIwEFkTwiI="; + hash = "sha256-LIBq6Ky6OETp5nI2hUCfthK5sIYu8CNOxJNrvbHy8Js="; }; - vendorHash = "sha256-+Boe/bzCsmihspGqmiJ3jOcRJ9KPjkzu6MBmgtAgwjE="; + vendorHash = "sha256-bFsciy0YfLyAG4pWIcVKh/wav2dMwLNnKUJBHnoW6HY="; ldflags = [ "-s" From 1078b943f04951bfb39f504f8c847f808397afdb Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 17 Dec 2023 10:00:58 +0100 Subject: [PATCH 04/32] trufflehog: 3.63.2 -> 3.63.4 Diff: https://github.com/trufflesecurity/trufflehog/compare/refs/tags/v3.63.2...v3.63.4 Changelog: https://github.com/trufflesecurity/trufflehog/releases/tag/v3.63.4 --- pkgs/tools/security/trufflehog/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix index ca8820e8a862..75cfe23552f5 100644 --- a/pkgs/tools/security/trufflehog/default.nix +++ b/pkgs/tools/security/trufflehog/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "trufflehog"; - version = "3.63.2"; + version = "3.63.4"; src = fetchFromGitHub { owner = "trufflesecurity"; repo = "trufflehog"; rev = "refs/tags/v${version}"; - hash = "sha256-LIBq6Ky6OETp5nI2hUCfthK5sIYu8CNOxJNrvbHy8Js="; + hash = "sha256-z99p3VecDsxtEr6bdu1qFyADn/NvJZurZMVunqv4YD4="; }; - vendorHash = "sha256-bFsciy0YfLyAG4pWIcVKh/wav2dMwLNnKUJBHnoW6HY="; + vendorHash = "sha256-LDDb00Vc+zeq25ArrG9/KD4SKXKfXJGljyLMUmw8owc="; ldflags = [ "-s" From cfc1c6e7a940fe42598c3de343acab1e78793586 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 17 Dec 2023 10:13:45 +0000 Subject: [PATCH 05/32] ooniprobe-cli: 3.19.1 -> 3.20.0 --- pkgs/tools/networking/ooniprobe-cli/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/ooniprobe-cli/default.nix b/pkgs/tools/networking/ooniprobe-cli/default.nix index b677b1d1ca01..a3c4c64a1097 100644 --- a/pkgs/tools/networking/ooniprobe-cli/default.nix +++ b/pkgs/tools/networking/ooniprobe-cli/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "ooniprobe-cli"; - version = "3.19.1"; + version = "3.20.0"; src = fetchFromGitHub { owner = "ooni"; repo = "probe-cli"; rev = "v${version}"; - hash = "sha256-sYIp5zl49waERfTYPfNjbyzep7p4sRlweDVcuTtWB28="; + hash = "sha256-kOARV3tnRyOAScc3Vn96TFQFgqvTgi6NFHWM7ZbpciU="; }; - vendorHash = "sha256-6RyK0oy9Lcuh2TXpQqAqmrA+bS9hug6+il7L1z+kYvs="; + vendorHash = "sha256-c922VpxtpNfua3Sx3vXKz4x1FsLMwbaSvRH4dyFrr9s="; subPackages = [ "cmd/ooniprobe" ]; From 7e6bc49753eb0d24f23796e5fae4a424f1aec0fa Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Wed, 13 Dec 2023 21:39:30 -0800 Subject: [PATCH 06/32] python311Packages.anova-wifi: init at 0.10.3 --- .../python-modules/anova-wifi/default.nix | 59 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/anova-wifi/default.nix diff --git a/pkgs/development/python-modules/anova-wifi/default.nix b/pkgs/development/python-modules/anova-wifi/default.nix new file mode 100644 index 000000000000..b6f885daf619 --- /dev/null +++ b/pkgs/development/python-modules/anova-wifi/default.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, poetry-core +, aiohttp +, sensor-state-data +, pytestCheckHook +, pytest-asyncio +}: + +buildPythonPackage rec { + pname = "anova-wifi"; + version = "0.10.3"; + pyproject = true; + + disabled = pythonOlder "3.10"; + + src = fetchFromGitHub { + owner = "Lash-L"; + repo = "anova_wifi"; + rev = "refs/tags/v${version}"; + hash = "sha256-tCmvp29KSCkc+g0w0odcB7vGjtDx6evac7XsHEF0syM="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "--cov=anova_wifi --cov-report=term-missing:skip-covered" "" + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + aiohttp + sensor-state-data + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + disabledTests = [ + # Makes network calls + "test_async_data_1" + ]; + + pythonImportsCheck = [ "anova_wifi" ]; + + meta = with lib; { + description = "A Python package for reading anova sous vide api data"; + homepage = "https://github.com/Lash-L/anova_wifi"; + changelog = "https://github.com/Lash-L/anova_wifi/releases/tag/v${version}"; + maintainers = with maintainers; [ jamiemagee ]; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 35ca0d3fd5fe..4bc7c58c1928 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -554,6 +554,8 @@ self: super: with self; { anonip = callPackage ../development/python-modules/anonip { }; + anova-wifi = callPackage ../development/python-modules/anova-wifi { }; + ansi2html = callPackage ../development/python-modules/ansi2html { }; ansi2image = callPackage ../development/python-modules/ansi2image { }; From 551d7c03299f224e4cfe03babac2455b8dd9a95a Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Wed, 13 Dec 2023 21:42:45 -0800 Subject: [PATCH 07/32] home-assistant: update component packages --- pkgs/servers/home-assistant/component-packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 31a389b98200..e9d881978dbd 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -169,7 +169,8 @@ anel-pwrctrl-homeassistant ]; "anova" = ps: with ps; [ - ]; # missing inputs: anova-wifi + anova-wifi + ]; "anthemav" = ps: with ps; [ anthemav ]; From 969f3a45ab54efafa307ce9714f47e3e194cc3cf Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Mon, 11 Dec 2023 21:53:37 -0800 Subject: [PATCH 08/32] python311Packages.icalevents: init at 0.1.27 --- .../python-modules/icalevents/default.nix | 59 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 61 insertions(+) create mode 100644 pkgs/development/python-modules/icalevents/default.nix diff --git a/pkgs/development/python-modules/icalevents/default.nix b/pkgs/development/python-modules/icalevents/default.nix new file mode 100644 index 000000000000..f8f211b65993 --- /dev/null +++ b/pkgs/development/python-modules/icalevents/default.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pytestCheckHook +, poetry-core +, datetime +, httplib2 +, icalendar +, python-dateutil +, pytz +}: + +buildPythonPackage rec { + pname = "icalevents"; + version = "0.1.27"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "jazzband"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-vSYQEJFBjXUF4WwEAtkLtcO3y/am00jGS+8Vj+JMMqQ="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + datetime + httplib2 + icalendar + python-dateutil + pytz + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # Makes HTTP calls + "test_events_url" + "test_events_async_url" + ]; + + pythonImportsCheck = [ "icalevents" ]; + + meta = with lib; { + changelog = "https://github.com/jazzband/icalevents/releases/tag/v${version}"; + description = "Python module for iCal URL/file parsing and querying"; + homepage = "https://github.com/jazzband/icalevents"; + maintainers = with maintainers; [ jamiemagee ]; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 35ca0d3fd5fe..b6db9b6129bb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5345,6 +5345,8 @@ self: super: with self; { icalendar = callPackage ../development/python-modules/icalendar { }; + icalevents = callPackage ../development/python-modules/icalevents { }; + icecream = callPackage ../development/python-modules/icecream { }; iceportal = callPackage ../development/python-modules/iceportal { }; From c0268a7b9aefc14ab28558d07741059c644f0866 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Mon, 11 Dec 2023 21:55:44 -0800 Subject: [PATCH 09/32] home-assistant-custom-components.waste_collection_schedule: init at 1.44.0 --- .../custom-components/default.nix | 2 + .../waste_collection_schedule/default.nix | 47 +++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix index fe1c39487903..310b4592b20f 100644 --- a/pkgs/servers/home-assistant/custom-components/default.nix +++ b/pkgs/servers/home-assistant/custom-components/default.nix @@ -9,4 +9,6 @@ miele = callPackage ./miele {}; prometheus_sensor = callPackage ./prometheus_sensor {}; + + waste_collection_schedule = callPackage ./waste_collection_schedule {}; } diff --git a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix new file mode 100644 index 000000000000..513d593ce51d --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, fetchpatch +, beautifulsoup4 +, icalendar +, icalevents +, lxml +, recurring-ical-events +}: + +buildHomeAssistantComponent rec { + owner = "mampfes"; + domain = "waste_collection_schedule"; + version = "1.44.0"; + + src = fetchFromGitHub { + inherit owner; + repo = "hacs_${domain}"; + rev = "refs/tags/${version}"; + hash = "sha256-G1x7HtgdtK+IaPAfxT+7xsDJi5FnXN4Pg3q7T5Xr8lA="; + }; + + patches = [ + # Corrects a dependency on beautifulsoup4 + (fetchpatch { + url = "https://github.com/mampfes/hacs_waste_collection_schedule/pull/1515.patch"; + hash = "sha256-dvmicKTjolEcCrKRtZfpN0M/9RQCEQkFk+M6E+qCqfQ="; + }) + ]; + + propagatedBuildInputs = [ + beautifulsoup4 + icalendar + icalevents + lxml + recurring-ical-events + ]; + + meta = with lib; { + changelog = "https://github.com/mampfes/hacs_waste_collection_schedule/releases/tag/${version}"; + description = "Home Assistant integration framework for (garbage collection) schedules"; + homepage = "https://github.com/mampfes/hacs_waste_collection_schedule"; + maintainers = with maintainers; [jamiemagee]; + license = licenses.mit; + }; +} From 74f2e495436983b9b3d8c9a94a638bb411cfb245 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Tue, 12 Dec 2023 01:19:00 +0100 Subject: [PATCH 10/32] lib.fileset.fetchGit: Refactoring --- lib/fileset/internal.nix | 42 +++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/lib/fileset/internal.nix b/lib/fileset/internal.nix index 9de5590d3eff..c8a659cd09fd 100644 --- a/lib/fileset/internal.nix +++ b/lib/fileset/internal.nix @@ -861,28 +861,34 @@ rec { # Type: String -> String -> Path -> Attrs -> FileSet _fromFetchGit = function: argument: path: extraFetchGitAttrs: let - # This imports the files unnecessarily, which currently can't be avoided - # because `builtins.fetchGit` is the only function exposing which files are tracked by Git. - # With the [lazy trees PR](https://github.com/NixOS/nix/pull/6530), - # the unnecessarily import could be avoided. - # However a simpler alternative still would be [a builtins.gitLsFiles](https://github.com/NixOS/nix/issues/2944). - fetchResult = fetchGit ({ - url = path; - } // extraFetchGitAttrs); + tryFetchGit = + let + # This imports the files unnecessarily, which currently can't be avoided + # because `builtins.fetchGit` is the only function exposing which files are tracked by Git. + # With the [lazy trees PR](https://github.com/NixOS/nix/pull/6530), + # the unnecessarily import could be avoided. + # However a simpler alternative still would be [a builtins.gitLsFiles](https://github.com/NixOS/nix/issues/2944). + fetchResult = fetchGit ({ + url = path; + } // extraFetchGitAttrs); + in + if inPureEvalMode then + throw "lib.fileset.${function}: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292." + # We can identify local working directories by checking for .git, + # see https://git-scm.com/docs/gitrepository-layout#_description. + # Note that `builtins.fetchGit` _does_ work for bare repositories (where there's no `.git`), + # even though `git ls-files` wouldn't return any files in that case. + else if ! pathExists (path + "/.git") then + throw "lib.fileset.${function}: Expected the ${argument} (${toString path}) to point to a local working tree of a Git repository, but it's not." + else + _mirrorStorePath path fetchResult.outPath; + in - if inPureEvalMode then - throw "lib.fileset.${function}: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292." - else if ! isPath path then + if ! isPath path then throw "lib.fileset.${function}: Expected the ${argument} to be a path, but it's a ${typeOf path} instead." else if pathType path != "directory" then throw "lib.fileset.${function}: Expected the ${argument} (${toString path}) to be a directory, but it's a file instead." - # We can identify local working directories by checking for .git, - # see https://git-scm.com/docs/gitrepository-layout#_description. - # Note that `builtins.fetchGit` _does_ work for bare repositories (where there's no `.git`), - # even though `git ls-files` wouldn't return any files in that case. - else if ! pathExists (path + "/.git") then - throw "lib.fileset.${function}: Expected the ${argument} (${toString path}) to point to a local working tree of a Git repository, but it's not." else - _mirrorStorePath path fetchResult.outPath; + tryFetchGit; } From 8b3fd7323d9df9793e6c8d608d8d6e148634e9ae Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Tue, 19 Dec 2023 08:39:54 +0100 Subject: [PATCH 11/32] k9s: fix vendorHash mismatch by using proxyVendor This fixes a vendor hash mismatch between darwin and linux. --- pkgs/applications/networking/cluster/k9s/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix index 4c10d4c243b4..36376f7887b2 100644 --- a/pkgs/applications/networking/cluster/k9s/default.nix +++ b/pkgs/applications/networking/cluster/k9s/default.nix @@ -20,7 +20,9 @@ buildGoModule rec { tags = [ "netgo" ]; - vendorHash = "sha256-Wn/9vIyw99BudhhTnoN81Np70VInV6uo7Sru64nhPgk="; + proxyVendor = true; + + vendorHash = "sha256-9w44gpaB2C/F7hTImjdeabWVgTU5AA/7OSJmAqayrzU="; # TODO investigate why some config tests are failing doCheck = !(stdenv.isDarwin && stdenv.isAarch64); From d49844be64550768e50ae0bcf979d60d8e549461 Mon Sep 17 00:00:00 2001 From: Paul Meyer <49727155+katexochen@users.noreply.github.com> Date: Tue, 19 Dec 2023 08:40:09 +0100 Subject: [PATCH 12/32] k9s: format --- pkgs/applications/networking/cluster/k9s/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/cluster/k9s/default.nix b/pkgs/applications/networking/cluster/k9s/default.nix index 36376f7887b2..c53773fc43f6 100644 --- a/pkgs/applications/networking/cluster/k9s/default.nix +++ b/pkgs/applications/networking/cluster/k9s/default.nix @@ -5,14 +5,15 @@ buildGoModule rec { version = "0.29.1"; src = fetchFromGitHub { - owner = "derailed"; - repo = "k9s"; - rev = "v${version}"; + owner = "derailed"; + repo = "k9s"; + rev = "v${version}"; sha256 = "sha256-agGayZ20RMAcGOx+owwDbUUDsjF3FZajhwDZ5wtE93k="; }; ldflags = [ - "-s" "-w" + "-s" + "-w" "-X github.com/derailed/k9s/cmd.version=${version}" "-X github.com/derailed/k9s/cmd.commit=${src.rev}" "-X github.com/derailed/k9s/cmd.date=1970-01-01T00:00:00Z" From 0ecf097e92351e206f5b0e3052f7c5400560da7c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 19 Dec 2023 07:59:25 +0000 Subject: [PATCH 13/32] last: 1518 -> 1519 --- pkgs/applications/science/biology/last/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix index 607b1ee51cc5..ed8690cd9c85 100644 --- a/pkgs/applications/science/biology/last/default.nix +++ b/pkgs/applications/science/biology/last/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation rec { pname = "last"; - version = "1518"; + version = "1519"; src = fetchFromGitLab { owner = "mcfrith"; repo = "last"; rev = "refs/tags/${version}"; - hash = "sha256-a6i5BfJhVHkXTLd7SVFxISEB+Kwl7BhjUUkF8ItMOak="; + hash = "sha256-659YiC7NA6ottOR41jo3ayh4lwReWj46NKMhMPuebF4="; }; nativeBuildInputs = [ From 3df514a5c588e20fdc0f5eae4b4450475ffa3680 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 19 Dec 2023 09:08:30 +0100 Subject: [PATCH 14/32] python311Packages.python-didl-lite: 1.3.2 -> 1.4.0 Diff: https://github.com/StevenLooman/python-didl-lite/compare/1.3.2...1.4.0 --- pkgs/development/python-modules/python-didl-lite/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-didl-lite/default.nix b/pkgs/development/python-modules/python-didl-lite/default.nix index bd19b5f827c6..0368f46198ba 100644 --- a/pkgs/development/python-modules/python-didl-lite/default.nix +++ b/pkgs/development/python-modules/python-didl-lite/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "python-didl-lite"; - version = "1.3.2"; + version = "1.4.0"; format = "setuptools"; disabled = pythonOlder "3.5.3"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "StevenLooman"; repo = pname; rev = version; - hash = "sha256-laKmWGDEzlBVJCUSKxekjPEXVlAz4MIzM7dNJfta/ek="; + hash = "sha256-A+G97T/udyL/yRqykq1sEGDEI6ZwtDBc5xUNFiJp0UQ="; }; propagatedBuildInputs = [ From c3deab041fe5d6742e722c7dec93c8291cad2ad8 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 19 Dec 2023 09:30:57 +0100 Subject: [PATCH 15/32] python311Packages.python-didl-lite: refactor --- .../python-didl-lite/default.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/python-didl-lite/default.nix b/pkgs/development/python-modules/python-didl-lite/default.nix index 0368f46198ba..aaa546730844 100644 --- a/pkgs/development/python-modules/python-didl-lite/default.nix +++ b/pkgs/development/python-modules/python-didl-lite/default.nix @@ -4,21 +4,27 @@ , pythonOlder , defusedxml , pytestCheckHook +, setuptools }: buildPythonPackage rec { pname = "python-didl-lite"; version = "1.4.0"; - format = "setuptools"; - disabled = pythonOlder "3.5.3"; + pyroject = true; + + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "StevenLooman"; - repo = pname; - rev = version; + repo = "python-didl-lite"; + rev = "refs/tags/${version}"; hash = "sha256-A+G97T/udyL/yRqykq1sEGDEI6ZwtDBc5xUNFiJp0UQ="; }; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ defusedxml ]; @@ -27,11 +33,14 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "didl_lite" ]; + pythonImportsCheck = [ + "didl_lite" + ]; meta = with lib; { description = "DIDL-Lite (Digital Item Declaration Language) tools for Python"; homepage = "https://github.com/StevenLooman/python-didl-lite"; + changelog = "https://github.com/StevenLooman/python-didl-lite/blob/${version}/CHANGES.rst"; license = licenses.asl20; maintainers = with maintainers; [ hexa ]; }; From 0d059066e7cb3467b230de1471ee7851e855ef70 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 19 Dec 2023 09:49:20 +0100 Subject: [PATCH 16/32] sqlboiler: 4.14.2 -> 4.15.0 Diff: https://github.com/volatiletech/sqlboiler/compare/refs/tags/v4.14.2...v4.15.0 Changelog: https://github.com/volatiletech/sqlboiler/releases/tag/v4.15.0 --- pkgs/development/tools/sqlboiler/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/sqlboiler/default.nix b/pkgs/development/tools/sqlboiler/default.nix index c3026d072498..432582dbc46e 100644 --- a/pkgs/development/tools/sqlboiler/default.nix +++ b/pkgs/development/tools/sqlboiler/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "sqlboiler"; - version = "4.14.2"; + version = "4.15.0"; src = fetchFromGitHub { owner = "volatiletech"; repo = "sqlboiler"; rev = "refs/tags/v${version}"; - hash = "sha256-d3SML1cm+daYU5dEuwSXSsKwsJHxGuOEbwCvYfsMcFI="; + hash = "sha256-MT1tjVCDaFB9HfjlGGnf6jTiPdKcrDamgp2nTpIarqY="; }; - vendorHash = "sha256-/z5l+tgQuYBZ0A99A8CoTuqTSfnM52R43ppFrooRgOM="; + vendorHash = "sha256-tZ1RQGmeDv4rtdF1WTRQV1K4Xy1AgIatLPPexnHJnkA="; tags = [ "mysql" From 8bbbb228b4f6c0ecbd746296a67be7723b0851b9 Mon Sep 17 00:00:00 2001 From: Ilan Joselevich Date: Tue, 19 Dec 2023 13:07:19 +0200 Subject: [PATCH 17/32] nixos/nextcloud: serve flac and ogg files Since v28 Nextcloud Talk supports serving files with with .ogg/.flac extension --- nixos/modules/services/web-apps/nextcloud.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index a833f38eb851..501df47942e5 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -1131,7 +1131,7 @@ in { fastcgi_read_timeout ${builtins.toString cfg.fastcgiTimeout}s; ''; }; - "~ \\.(?:css|js|mjs|svg|gif|png|jpg|jpeg|ico|wasm|tflite|map|html|ttf|bcmap|mp4|webm)$".extraConfig = '' + "~ \\.(?:css|js|mjs|svg|gif|png|jpg|jpeg|ico|wasm|tflite|map|html|ttf|bcmap|mp4|webm|ogg|flac)$".extraConfig = '' try_files $uri /index.php$request_uri; expires 6M; access_log off; From 76bf1b26a36916d8b23c9a16cb92a75f2572280b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 19 Dec 2023 11:24:46 +0000 Subject: [PATCH 18/32] python310Packages.findpython: 0.4.0 -> 0.4.1 --- pkgs/development/python-modules/findpython/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/findpython/default.nix b/pkgs/development/python-modules/findpython/default.nix index 9a9bd93fc745..7ada2d813dd4 100644 --- a/pkgs/development/python-modules/findpython/default.nix +++ b/pkgs/development/python-modules/findpython/default.nix @@ -15,7 +15,7 @@ let pname = "findpython"; - version = "0.4.0"; + version = "0.4.1"; in buildPythonPackage { inherit pname version; @@ -25,7 +25,7 @@ buildPythonPackage { src = fetchPypi { inherit pname version; - hash = "sha256-GLFNEVZ42hiuku4i1wAcwwkV6lMQU/dwEO4Fo5aA9Dg="; + hash = "sha256-19AUVYaBs3YdV6WyNCpxOovzAvbB/J2Z+Budi9FoGwQ="; }; nativeBuildInputs = [ From 003d43d091c37d6eb48dec2bb8c8a5a16b2b70cc Mon Sep 17 00:00:00 2001 From: Nikita Pedorich Date: Tue, 19 Dec 2023 20:13:22 +0900 Subject: [PATCH 19/32] platformio-core: install shell completion --- pkgs/development/embedded/platformio/core.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/development/embedded/platformio/core.nix b/pkgs/development/embedded/platformio/core.nix index 82ccfa41c2f0..aa4e8e9600f6 100644 --- a/pkgs/development/embedded/platformio/core.nix +++ b/pkgs/development/embedded/platformio/core.nix @@ -2,6 +2,7 @@ , python3Packages , fetchFromGitHub , fetchpatch +, installShellFiles , git , spdx-license-list-data , substituteAll @@ -43,6 +44,7 @@ with python3Packages; buildPythonApplication rec { ]; nativeBuildInputs = [ + installShellFiles pythonRelaxDepsHook setuptools ]; @@ -88,6 +90,16 @@ with python3Packages; buildPythonApplication rec { postInstall = '' mkdir -p $udev/lib/udev/rules.d cp platformio/assets/system/99-platformio-udev.rules $udev/lib/udev/rules.d/99-platformio-udev.rules + + installShellCompletion --cmd platformio \ + --bash <(_PLATFORMIO_COMPLETE=bash_source $out/bin/platformio) \ + --zsh <(_PLATFORMIO_COMPLETE=zsh_source $out/bin/platformio) \ + --fish <(_PLATFORMIO_COMPLETE=fish_source $out/bin/platformio) + + installShellCompletion --cmd pio \ + --bash <(_PIO_COMPLETE=bash_source $out/bin/pio) \ + --zsh <(_PIO_COMPLETE=zsh_source $out/bin/pio) \ + --fish <(_PIO_COMPLETE=fish_source $out/bin/pio) ''; disabledTestPaths = [ @@ -186,5 +198,6 @@ with python3Packages; buildPythonApplication rec { homepage = "https://platformio.org"; license = licenses.asl20; maintainers = with maintainers; [ mog makefu ]; + mainProgram = "platformio"; }; } From 321daa018b9ee425d2cdfa8a6c50861507398668 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 19 Dec 2023 14:19:56 +0000 Subject: [PATCH 20/32] python310Packages.fschat: 0.2.33 -> 0.2.34 --- pkgs/development/python-modules/fschat/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/fschat/default.nix b/pkgs/development/python-modules/fschat/default.nix index 44420ae6c61f..1d99fcd3e4cc 100644 --- a/pkgs/development/python-modules/fschat/default.nix +++ b/pkgs/development/python-modules/fschat/default.nix @@ -29,7 +29,7 @@ , protobuf }: let - version = "0.2.33"; + version = "0.2.34"; in buildPythonPackage { pname = "fschat"; @@ -40,7 +40,7 @@ buildPythonPackage { owner = "lm-sys"; repo = "FastChat"; rev = "refs/tags/v${version}"; - hash = "sha256-tfFgiYJBuVt71qHOmkDoSrZ2tvXStjubmkw7sexkGZg="; + hash = "sha256-4dnKrLQYkd2uQh2K2yaQ7EgrkgX8bO4QXfjIOqpzCE8="; }; nativeBuildInputs = [ From 552ffb31c20dd7d047c639cd82f10a37cb6ca206 Mon Sep 17 00:00:00 2001 From: Nathan Henrie Date: Mon, 18 Dec 2023 10:13:28 -0700 Subject: [PATCH 21/32] espanso: fix sandbox issue with /bin/echo --- pkgs/applications/office/espanso/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/office/espanso/default.nix b/pkgs/applications/office/espanso/default.nix index 037cf509a1f7..d4d0290277e1 100644 --- a/pkgs/applications/office/espanso/default.nix +++ b/pkgs/applications/office/espanso/default.nix @@ -1,4 +1,5 @@ { lib +, coreutils , fetchFromGitHub , rustPlatform , pkg-config @@ -106,7 +107,9 @@ rustPlatform.buildRustPackage rec { ]; postPatch = lib.optionalString stdenv.isDarwin '' - substituteInPlace scripts/create_bundle.sh --replace target/mac/ $out/Applications/ + substituteInPlace scripts/create_bundle.sh \ + --replace target/mac/ $out/Applications/ \ + --replace /bin/echo ${coreutils}/bin/echo patchShebangs scripts/create_bundle.sh substituteInPlace espanso/src/res/macos/Info.plist \ --replace "espanso" "${placeholder "out"}/Applications/Espanso.app/Contents/MacOS/espanso" From e7009ef00cab1bf68ebbf30a5adf390fd64d3a0c Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 19 Dec 2023 16:19:29 +0100 Subject: [PATCH 22/32] vimPlugins.ollama-nvim: init at 2023-12-03 --- pkgs/applications/editors/vim/plugins/overrides.nix | 4 ++++ pkgs/applications/editors/vim/plugins/vim-plugin-names | 1 + 2 files changed, 5 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index fe8ba4fe423f..d50566f1497d 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -920,6 +920,10 @@ self: super: { dependencies = with self; [ telescope-nvim plenary-nvim ]; }; + ollama-nvim = super.ollama-nvim.overrideAttrs { + dependencies = [ self.plenary-nvim ]; + }; + onehalf = super.onehalf.overrideAttrs { configurePhase = "cd vim"; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 8f46539cbbe8..9e41c694649e 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -662,6 +662,7 @@ https://github.com/glepnir/oceanic-material/,, https://github.com/mhartington/oceanic-next/,, https://github.com/pwntester/octo.nvim/,, https://github.com/stevearc/oil.nvim/,HEAD, +https://github.com/nomnivore/ollama.nvim/,HEAD, https://github.com/Hoffs/omnisharp-extended-lsp.nvim/,HEAD, https://github.com/Th3Whit3Wolf/one-nvim/,, https://github.com/navarasu/onedark.nvim/,, From c07e508ee3d02dace15f22f5d78ff40ec52775f1 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 19 Dec 2023 16:29:05 +0100 Subject: [PATCH 23/32] vimPlugins: update on 2023-12-19 --- .../editors/vim/plugins/generated.nix | 388 +++++++++--------- 1 file changed, 200 insertions(+), 188 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 40f2e163d0d5..f274ef66e795 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -305,12 +305,12 @@ final: prev: SchemaStore-nvim = buildVimPlugin { pname = "SchemaStore.nvim"; - version = "2023-12-14"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "b0o"; repo = "SchemaStore.nvim"; - rev = "3927fbff75d5777660bfc4d29ff8d5b4a0cae2af"; - sha256 = "03n0qln4vyi708k0xxr94v4c01qcxv8419nhby59270h2yyzvfx5"; + rev = "c23407de1f76df30ca197b69d78a11be5ce26009"; + sha256 = "04v4xzi55fmgbrnvm1s9magb1r0mqsx5w8nck7pn39q7q39wazpa"; }; meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; }; @@ -510,12 +510,12 @@ final: prev: adwaita-nvim = buildVimPlugin { pname = "adwaita.nvim"; - version = "2023-06-22"; + version = "2023-12-15"; src = fetchFromGitHub { owner = "Mofiqul"; repo = "adwaita.nvim"; - rev = "bb421a3439a515862ecb57970f10722cdcc4d089"; - sha256 = "1fw7kbgzqif40vks3h3n5jgachnimcbv7gpv85z7mw07hc0g7h33"; + rev = "981bce791959d79cd1316e59e23906e3c05efb44"; + sha256 = "1lrxns172mad4936x1njagn5j30nyxwrw82dmhzf4yfkz8pra251"; }; meta.homepage = "https://github.com/Mofiqul/adwaita.nvim/"; }; @@ -955,12 +955,12 @@ final: prev: barbar-nvim = buildVimPlugin { pname = "barbar.nvim"; - version = "2023-12-07"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "romgrk"; repo = "barbar.nvim"; - rev = "a8fe0abe538f15997a543e0f653993ef3727455f"; - sha256 = "0iiqpdhps3gmjxmzcpv5jhk09kcg99xxp16k6mijrknbp3irsz9q"; + rev = "4ba9ac54f0c5d82131905160afff94172e3325e6"; + sha256 = "0cfhcwb8w4h63dj3r1zi7ikqjs78isgvy2lgqw35k8camw4jlqkr"; }; meta.homepage = "https://github.com/romgrk/barbar.nvim/"; }; @@ -1243,24 +1243,24 @@ final: prev: ccc-nvim = buildVimPlugin { pname = "ccc.nvim"; - version = "2023-12-10"; + version = "2023-12-16"; src = fetchFromGitHub { owner = "uga-rosa"; repo = "ccc.nvim"; - rev = "201d82aaa7e4d80ce4e4df11333954bea880c095"; - sha256 = "18ah7yyqlz2f8srsb2q9pniwx5rwrp66ayaz7v4kq5acfs39ld13"; + rev = "ec6e23fd2c0bf4ffcf71c1271acdcee6e2c6f49c"; + sha256 = "1y3ns91ysx684ryxv1zjaw8ghrm2ry4rswhm87im4rwghnwvnrwx"; }; meta.homepage = "https://github.com/uga-rosa/ccc.nvim/"; }; chadtree = buildVimPlugin { pname = "chadtree"; - version = "2023-12-05"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "ms-jpq"; repo = "chadtree"; - rev = "157d4a262ee85866e684c644fa8335818b770798"; - sha256 = "0gspf48ax8gncfsg4h9anpn2i8xqvs264pcjndchczk26m90l32b"; + rev = "fbd86515f1ccffcfe7a65f8923229fa8cdb91c6b"; + sha256 = "19isaxar05cnbdy1jnpkmnw9z2as0fqsnvhyfbx0jgihwmlgy1xw"; }; meta.homepage = "https://github.com/ms-jpq/chadtree/"; }; @@ -2047,12 +2047,12 @@ final: prev: codeium-vim = buildVimPlugin { pname = "codeium.vim"; - version = "2023-12-08"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "Exafunction"; repo = "codeium.vim"; - rev = "cf55f8d0cc4e0505432fca6501160f775fe0e605"; - sha256 = "0b4bkmskmglr6sh2l1gz1mg81qsg9w61dbhabn9qzqnsryj96r6k"; + rev = "c18f6642f2bd071ab0154e5d333697067f9c4b70"; + sha256 = "16d58dkcyadhv60jvljmx23mi4q817ylw6nycp805g5c441mhx3j"; }; meta.homepage = "https://github.com/Exafunction/codeium.vim/"; }; @@ -2348,12 +2348,12 @@ final: prev: copilot-lua = buildVimPlugin { pname = "copilot.lua"; - version = "2023-12-01"; + version = "2023-12-15"; src = fetchFromGitHub { owner = "zbirenbaum"; repo = "copilot.lua"; - rev = "38a41d0d78f8823cc144c99784528b9a68bdd608"; - sha256 = "05v2cxa10s98pk7w0g3g8p440bz6n2r2k4ygxz9vkbcjf39kgjaj"; + rev = "dcaaed5b58e6c2d395bca18d25d34e6384856722"; + sha256 = "1fa82qlj935vy5shv75dik5bm6rzz3s5kx6nfwlap8nygdra7r3r"; }; meta.homepage = "https://github.com/zbirenbaum/copilot.lua/"; }; @@ -2444,12 +2444,12 @@ final: prev: crates-nvim = buildVimPlugin { pname = "crates.nvim"; - version = "2023-12-04"; + version = "2023-12-16"; src = fetchFromGitHub { owner = "saecki"; repo = "crates.nvim"; - rev = "b8ea20fda2e1029fbbb1bae7a9eab35c84037ca0"; - sha256 = "19anqljinfw86p6x0pig2iqcm4v2wjgjsciin52x2y9w60vfdrjy"; + rev = "8da3bae1f0f8892b42e9596299ec09bc055e5507"; + sha256 = "1jy6z43n1146wq6bv5qpkb74hs81c3n17r570vjvi3rbc6nq139a"; }; meta.homepage = "https://github.com/saecki/crates.nvim/"; }; @@ -3034,12 +3034,12 @@ final: prev: dracula-nvim = buildVimPlugin { pname = "dracula.nvim"; - version = "2023-12-13"; + version = "2023-12-15"; src = fetchFromGitHub { owner = "Mofiqul"; repo = "dracula.nvim"; - rev = "084cb4a282b2cb51d1c1c76c377abe08d0649818"; - sha256 = "1fg9z7cqfanxrqplw9b1lfn5r4v84g5lpnqmignrbbz2dac8blyc"; + rev = "cadf9a1d873d67a92a76b258715cad91f0c1dbb9"; + sha256 = "1a12kkfszgb94zi4wi3ksrpcyd2vkl2wcm314z738p7p5vjrvkwl"; }; meta.homepage = "https://github.com/Mofiqul/dracula.nvim/"; }; @@ -3058,12 +3058,12 @@ final: prev: dropbar-nvim = buildVimPlugin { pname = "dropbar.nvim"; - version = "2023-12-14"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "Bekaboo"; repo = "dropbar.nvim"; - rev = "e218e882a8e993e267b727859d8688f84e91ef1a"; - sha256 = "171xhasyrl7fs83ykc3bbn3ayjqxqm1m5v0407wndaq28m3hz8qp"; + rev = "b1194884a48ef03a251b53dff2ae5679ef8aba92"; + sha256 = "0ba0mv7f1w9zbjga2mzyz1sf2dd75lxpa14yv0m88cbphk3kh9zx"; }; meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/"; }; @@ -3143,12 +3143,12 @@ final: prev: efmls-configs-nvim = buildVimPlugin { pname = "efmls-configs-nvim"; - version = "2023-12-10"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "creativenull"; repo = "efmls-configs-nvim"; - rev = "b65b2ff723f3057e871eb2b0c1418490e1539e38"; - sha256 = "0kfj7q8s0kx4x6v08ybwbw35hpw5cc4ihj0w5l05rlbw69a6n87b"; + rev = "32575ba992e056dde5a869fc0368a7dd4e3c7afb"; + sha256 = "01jra3rzmxj2fknp2fihhg56kjazxvp67q0d9n7adph36w9b95h3"; }; meta.homepage = "https://github.com/creativenull/efmls-configs-nvim/"; }; @@ -3360,12 +3360,12 @@ final: prev: fidget-nvim = buildVimPlugin { pname = "fidget.nvim"; - version = "2023-12-12"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "j-hui"; repo = "fidget.nvim"; - rev = "7b9c383438a2e490e37d57b07ddeae3ab4f4cf69"; - sha256 = "01pj57fhyac3bid8f66gs5g9b64v5jjzgpfnn3nb5scf0bchlzbk"; + rev = "7638c0dd51be8078e10263d73eecfdd42262d69b"; + sha256 = "1fqwij1j1nx1p815266swrlflngjac1j1zdwz08b2dlbid2dsknj"; }; meta.homepage = "https://github.com/j-hui/fidget.nvim/"; }; @@ -3505,12 +3505,12 @@ final: prev: flutter-tools-nvim = buildVimPlugin { pname = "flutter-tools.nvim"; - version = "2023-10-04"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "akinsho"; repo = "flutter-tools.nvim"; - rev = "7350750d46fbeb4d2bb4878157b658d435935299"; - sha256 = "031l98vwm5099q9xizldk8djn3yrckpp3nlbbd16b2iw7v7rgwm7"; + rev = "7cb01c52ac9ece55118be71e0f7457783d5522a4"; + sha256 = "1cfgnz7zmap7i163w3yb44lwiws4k2dvajvl4a92pyykj91mnq2p"; }; meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/"; }; @@ -3661,12 +3661,12 @@ final: prev: fzf-lua = buildVimPlugin { pname = "fzf-lua"; - version = "2023-12-12"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "ibhagwan"; repo = "fzf-lua"; - rev = "209e9405d2df949cbffe5b7b9329756b83bf2339"; - sha256 = "0pkqxkgbg7bwla627k89mx5p055760d1icqjkc701cgx6jnrafiy"; + rev = "407323ade0ebca1bb4f26453c1aacbb246654139"; + sha256 = "0dlyip38klpp9ip1mxpgbgda0x1h1rzvlb5kzibsyn2cp1vhnzx3"; }; meta.homepage = "https://github.com/ibhagwan/fzf-lua/"; }; @@ -3889,12 +3889,12 @@ final: prev: go-nvim = buildVimPlugin { pname = "go.nvim"; - version = "2023-12-14"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "ray-x"; repo = "go.nvim"; - rev = "13a1044fc66bb8170b8f1ed12cb929efa946fa82"; - sha256 = "16sv3h1z8xzw3fp0vj572xfg0lh33h8yd703amqkyl2pzsk41m0j"; + rev = "1d140eec2a1ca90a0f2c685c7869724b2af72d26"; + sha256 = "02z062gfi0yfm9f91i1k5sna8zx12bzb155ii83c12y224rbsfiw"; }; meta.homepage = "https://github.com/ray-x/go.nvim/"; }; @@ -4104,12 +4104,12 @@ final: prev: haskell-tools-nvim = buildNeovimPlugin { pname = "haskell-tools.nvim"; - version = "2023-12-14"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "MrcJkb"; repo = "haskell-tools.nvim"; - rev = "1b344add99cf64be0bf384c13dda5eb5f3060736"; - sha256 = "0fyhq0w5nivplq7g8xglmdqp0a2r7zrgn2him9nfjv8jaajm21cw"; + rev = "e9a09be664521134e04336c2503c7f6b058d7785"; + sha256 = "1lg3wkbg2sjkbp6c3lrkszsbk97ajgs6jnwmv9xgslvaaj40r6r8"; }; meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/"; }; @@ -4403,12 +4403,12 @@ final: prev: inc-rename-nvim = buildVimPlugin { pname = "inc-rename.nvim"; - version = "2023-12-03"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "smjonas"; repo = "inc-rename.nvim"; - rev = "a48c7cec5c4f00d7438dce5fadb55f4d715ef9f2"; - sha256 = "08qwjv7dwgs03dvv7dxgm4hqrcsvvbn1r3f4xkj1g3ppr9pzqhva"; + rev = "e346532860e1896b1085815e854ed14e2f066a2c"; + sha256 = "1nvriggnpzqqjwvxvivqr66g1rir586mfxcs5dy7mnkfnvjpd15l"; }; meta.homepage = "https://github.com/smjonas/inc-rename.nvim/"; }; @@ -4451,12 +4451,12 @@ final: prev: indent-blankline-nvim = buildVimPlugin { pname = "indent-blankline.nvim"; - version = "2023-12-06"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "lukas-reineke"; repo = "indent-blankline.nvim"; - rev = "7206c77cb931f79885fc47f88ae18f99148392eb"; - sha256 = "0ijn9jlhr8dl5l3jhsy8n59z0wcikl327agqwnc7hmzsxjal2xfv"; + rev = "f3eb33c04c3c5028b4efa7dbf8f68abdb6ab50ed"; + sha256 = "04r49fwsj16lrv1ikh87klvpnmcv4pigi43yq7m54ijclfxfjpjx"; }; meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/"; }; @@ -4872,12 +4872,12 @@ final: prev: leap-nvim = buildVimPlugin { pname = "leap.nvim"; - version = "2023-12-10"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "ggandor"; repo = "leap.nvim"; - rev = "e27bc4fd2e8c8282f91359ec0bbc3c686573d245"; - sha256 = "0ki14k4q52cjgd8g1kr187i836jbrjawfrz66y7sy0k83g6djn05"; + rev = "bad02b384173c8a1bb9e66dea9f50c852deef8d6"; + sha256 = "0g0bj3njfj5kc8kkvl1a48xqkrm8lldhjfc1bs58rdzjmf44zxnq"; }; meta.homepage = "https://github.com/ggandor/leap.nvim/"; }; @@ -5267,12 +5267,12 @@ final: prev: lspcontainers-nvim = buildVimPlugin { pname = "lspcontainers.nvim"; - version = "2023-06-03"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "lspcontainers"; repo = "lspcontainers.nvim"; - rev = "593b6655edc3ff7caaa89cac1ba9b27695b7fa09"; - sha256 = "0pvpphwkklcydjlzp2577n8rc3l5q3q7q5lmnp2iz79aizq0qhx9"; + rev = "ac31157d72d6267fc892a3f021d37f5d24dbc344"; + sha256 = "08r2lywir50w00g2wr7kvq194w42a663klfwkhvznvdm1bv44rwn"; }; meta.homepage = "https://github.com/lspcontainers/lspcontainers.nvim/"; }; @@ -5339,12 +5339,12 @@ final: prev: luasnip = buildNeovimPlugin { pname = "luasnip"; - version = "2023-12-14"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "l3mon4d3"; repo = "luasnip"; - rev = "6a001360cea89df50f7c5cc8c7a75e6a21f1ef5c"; - sha256 = "1qpd59221lcaxy7kb830v3g8h38ml590g1vn7q98z1fddm142vif"; + rev = "57c9f5c31b3d712376c704673eac8e948c82e9c1"; + sha256 = "0dqv6yxwhlxx080qgxwg1ljm5w7l45f1k2qz499jjx8rpbyxykml"; fetchSubmodules = true; }; meta.homepage = "https://github.com/l3mon4d3/luasnip/"; @@ -5568,12 +5568,12 @@ final: prev: mini-nvim = buildVimPlugin { pname = "mini.nvim"; - version = "2023-12-12"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "echasnovski"; repo = "mini.nvim"; - rev = "333d2d1090c80ac936b960469a6e93982cbaeb21"; - sha256 = "1r9s3c3m99r6xslwm4xi8zg908rhqh19xsmzw9jvyjhkgb7pn82l"; + rev = "ea1af8c7d5e72148cae8a04e9887322a53fe66cf"; + sha256 = "0m0x9fq56napz4kkbhh7bxm9aw0hjk2m8fd126pb1bjhsl6zr99g"; }; meta.homepage = "https://github.com/echasnovski/mini.nvim/"; }; @@ -5664,12 +5664,12 @@ final: prev: molten-nvim = buildVimPlugin { pname = "molten-nvim"; - version = "2023-12-15"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "benlubas"; repo = "molten-nvim"; - rev = "ebf2bda74e8b903222ad0378ffda57c9afb5cc84"; - sha256 = "19a01mrvykjszxia7gr1jbxh3bi9hfj6rrnna0gfgd0ml37ahmgr"; + rev = "60930af2df132289d21c6c6f141c0aec8de71089"; + sha256 = "0063ndbx46q6xf5y1y0zrzqbh8x5qrvmvpyh205ifwwfyls6aqai"; }; meta.homepage = "https://github.com/benlubas/molten-nvim/"; }; @@ -6024,12 +6024,12 @@ final: prev: neodev-nvim = buildVimPlugin { pname = "neodev.nvim"; - version = "2023-12-15"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "folke"; repo = "neodev.nvim"; - rev = "58f83ce5145329f5866ef1c7ff523de03549d24f"; - sha256 = "0vwqb5rrdl66inaza3rq3bhaga5175yinsgmbcinlqq6shb0qpq7"; + rev = "018e1161ed771ef2b54f346240bcf69931594396"; + sha256 = "01lddc9i6z56fyc6jfz1rv9cja98jjg4dhzhx67752nmpfzjlicf"; }; meta.homepage = "https://github.com/folke/neodev.nvim/"; }; @@ -6060,12 +6060,12 @@ final: prev: neogit = buildVimPlugin { pname = "neogit"; - version = "2023-12-14"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "NeogitOrg"; repo = "neogit"; - rev = "d6f21d87194f51bc934466c7841579caf60b796a"; - sha256 = "122shgkln7kldwx0zl8nsjagi4m1kjg1425n2lpbvixd2jnjpsnl"; + rev = "801143ee4db4121fc11a6468daae6680ba9fab51"; + sha256 = "01i1spfqx29nzshxdk5c3g9m146kijq0wb37qyk2jfjj9r3jj1xg"; }; meta.homepage = "https://github.com/NeogitOrg/neogit/"; }; @@ -6204,12 +6204,12 @@ final: prev: neotest = buildVimPlugin { pname = "neotest"; - version = "2023-12-10"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "nvim-neotest"; repo = "neotest"; - rev = "8782d83869c64700fa419bd5278f4f62c80a2c1a"; - sha256 = "1xk7n8zx6nm0pr4fp3rn9iy806nyq9rjqgarvjc6h59r4ic3l147"; + rev = "b8e29c0fba9a58bf6a5c37df77c7a6a31079c8d6"; + sha256 = "0y9dm6w88prff7vf84jy0ik2f69smhvc8a7gs4cickw56n7srf28"; }; meta.homepage = "https://github.com/nvim-neotest/neotest/"; }; @@ -6277,24 +6277,24 @@ final: prev: neotest-haskell = buildVimPlugin { pname = "neotest-haskell"; - version = "2023-12-11"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "MrcJkb"; repo = "neotest-haskell"; - rev = "25c447f2597df5344c790ef3d85ff55e26c5339e"; - sha256 = "07vxlpgy7h12abgfrbvifck82x2g0l4vz1ylw6n0z2f1krdc9z7p"; + rev = "766f7c8d3acd7101e3538c1b8715893af976b48e"; + sha256 = "0jdbrrymv3q0lwprpzaqg20ygbg2742drsddayx6b6bzjgdwh71n"; }; meta.homepage = "https://github.com/MrcJkb/neotest-haskell/"; }; neotest-jest = buildVimPlugin { pname = "neotest-jest"; - version = "2023-11-13"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "nvim-neotest"; repo = "neotest-jest"; - rev = "d8b00a91e440474da20a8e9acdb0d72051078b8b"; - sha256 = "1z400jfjy3nqxn8024kbampnbnawzxacqz7k3mv2l72brgyp62bn"; + rev = "a394106cf053eef86d65ae04c4b93a1a7bd60aef"; + sha256 = "0vgb4lvi1cvdjqwljdrzgvpm772jj9cj44s1hms58iwl35rg17wq"; }; meta.homepage = "https://github.com/nvim-neotest/neotest-jest/"; }; @@ -6457,12 +6457,12 @@ final: prev: nerdcommenter = buildVimPlugin { pname = "nerdcommenter"; - version = "2023-11-02"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "preservim"; repo = "nerdcommenter"; - rev = "da948e160d9f54c2967c7927b9c74c5a68c8dc49"; - sha256 = "0ww8l7lfwqnkskil0dfl71brnb5v03dgyf7i0nfmrcnyc2c0xrcm"; + rev = "e361a44230860d616f799a337bc58f5218ab6e9c"; + sha256 = "0cpmg8wa67kd3qhrqd4hbq2symcvkyfn4fwbs2l7mx5hvmabj36d"; }; meta.homepage = "https://github.com/preservim/nerdcommenter/"; }; @@ -6553,12 +6553,12 @@ final: prev: nightfox-nvim = buildVimPlugin { pname = "nightfox.nvim"; - version = "2023-12-14"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "EdenEast"; repo = "nightfox.nvim"; - rev = "44154e1596e801ed669fe9371c34ece0e635eaa5"; - sha256 = "1v5jcqp168mh5is3ir3b64gz9mx4m36hs5s5y4j0x2qww3ff5r5l"; + rev = "5a7746360f044820a97e654fa4fc7043c744e8e8"; + sha256 = "1nkns3a4r2gms5k4h8p2r2nj3hk4ybhl3ycdlfgbqwc8llfm6iq1"; }; meta.homepage = "https://github.com/EdenEast/nightfox.nvim/"; }; @@ -6877,12 +6877,12 @@ final: prev: nvim-cokeline = buildVimPlugin { pname = "nvim-cokeline"; - version = "2023-10-18"; + version = "2023-12-15"; src = fetchFromGitHub { owner = "willothy"; repo = "nvim-cokeline"; - rev = "2e71292a37535fdbcf0f9500aeb141021d90af8b"; - sha256 = "140qc5gzss0nb00gp1qr3rz22swzcvkwg7c5772ki8yvj3yc9ini"; + rev = "321afcd5d84f30755ad32974ec9096a37c7e7482"; + sha256 = "1g0zbi8jvxrxr4bhp1164rymq8jlr6d5vbshcg0jxwdzfij1f8pj"; }; meta.homepage = "https://github.com/willothy/nvim-cokeline/"; }; @@ -7105,24 +7105,24 @@ final: prev: nvim-highlite = buildVimPlugin { pname = "nvim-highlite"; - version = "2023-12-05"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "Iron-E"; repo = "nvim-highlite"; - rev = "fea70b23ef43740f7f24ad69e1d6894defe15198"; - sha256 = "1gydm6ga4c210m529lac5035h67sj72lwddx54y81m918x7bq69v"; + rev = "e9f927026657fd231f13603dd247b3a5d215acc7"; + sha256 = "02j4kqgqw48s2q9cqx1d4qvidxmd0rzvj7jqby38hvcsz3zql8qr"; }; meta.homepage = "https://github.com/Iron-E/nvim-highlite/"; }; nvim-hlslens = buildVimPlugin { pname = "nvim-hlslens"; - version = "2023-11-30"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-hlslens"; - rev = "9bd8d6b155fafc59da18291858c39f115464287c"; - sha256 = "0d3dxc0v347z6dz7zmnf845kzv6j2yca94pgakaac4x6m3lcy5xl"; + rev = "8ffc64bb6b624612cf762982b92633f283f7a715"; + sha256 = "093da3q6lalp48wph4688hjkd0lf0bnzsa8y2bms1j8js0mmr0p3"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/"; }; @@ -7224,12 +7224,12 @@ final: prev: nvim-lint = buildVimPlugin { pname = "nvim-lint"; - version = "2023-12-15"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "mfussenegger"; repo = "nvim-lint"; - rev = "5b42e12f397e9fd2629e6f0ce1c780a12b9e6597"; - sha256 = "0y0nx8960fnfwj6j59a1qd63ylia4wvpcxpqg9lcnhsf78vczis2"; + rev = "32f98300881f38f4e022391f240188fec42f74db"; + sha256 = "0xq253xxzq870wnkpciwvk8wxva0znygcdcknq8f3gg40jqlqc48"; }; meta.homepage = "https://github.com/mfussenegger/nvim-lint/"; }; @@ -7260,12 +7260,12 @@ final: prev: nvim-lspconfig = buildVimPlugin { pname = "nvim-lspconfig"; - version = "2023-12-14"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "84f2dd42efffa20d505ac44c78568d778ca7e0a1"; - sha256 = "07ngajqlkgfaijj2ampyr0d4why1slq5bp6izyki22310yifdbhj"; + rev = "e85816c5803410cacb52e9b4fbdb72a1f1a6bd11"; + sha256 = "03yvhgm80lzrn7x4j3qvjwcz8yvnc0db926bw3yw7537samqn5g5"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; }; @@ -7320,12 +7320,12 @@ final: prev: nvim-metals = buildVimPlugin { pname = "nvim-metals"; - version = "2023-12-15"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "scalameta"; repo = "nvim-metals"; - rev = "0abecb7c37586d015185cd6a4c9dbfa01f2c0f48"; - sha256 = "18iqrf9vschirjqzx3l0c0jqdhmk6zqvg1rv7y6cl8fmbvbs0cmp"; + rev = "1e269f1f01e6b970603d51e9e044824d9d8114e7"; + sha256 = "10qhb6jnbz0nzajzfk244783avy2pinw1ddrnfml1cfaaw6n9r9c"; }; meta.homepage = "https://github.com/scalameta/nvim-metals/"; }; @@ -7488,12 +7488,12 @@ final: prev: nvim-scrollview = buildVimPlugin { pname = "nvim-scrollview"; - version = "2023-12-01"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "dstein64"; repo = "nvim-scrollview"; - rev = "7eb9030662fad8bfbc1df2c6cfc165aa4a8904b2"; - sha256 = "1245qk1s00svnh57ijamziam8lm3d419a5vf3wry9fdf2lm01j1g"; + rev = "e2d1ddae7e1f389e718834c6cb69501704ba30e3"; + sha256 = "04w919wsr1xlwzdaj1zbwj2jx03lcx9n2zrdkxmwwkmqfs4d1rdw"; }; meta.homepage = "https://github.com/dstein64/nvim-scrollview/"; }; @@ -7548,12 +7548,12 @@ final: prev: nvim-spider = buildVimPlugin { pname = "nvim-spider"; - version = "2023-12-12"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "chrisgrieser"; repo = "nvim-spider"; - rev = "c11e469cc1a6d099bcac7e15a7bfc0720b8e96b5"; - sha256 = "07jkw02vqipwhz0c3ybfmf6ld12dz5w4s54lvs7g87q6lmdzk41s"; + rev = "2cda32bb4bd852662e5c443dd33aa56f32182628"; + sha256 = "0061mm1d1dslky9p8z084wjrjfqkr4m5sy0g6wd3yy2iam1p2xds"; }; meta.homepage = "https://github.com/chrisgrieser/nvim-spider/"; }; @@ -7608,36 +7608,36 @@ final: prev: nvim-tree-lua = buildVimPlugin { pname = "nvim-tree.lua"; - version = "2023-12-11"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "nvim-tree"; repo = "nvim-tree.lua"; - rev = "141c0f97c35f274031294267808ada59bb5fb08e"; - sha256 = "0n41viq9pi9x6rc89lhrrb5vxq26vm4rzgqp36mafjfw5y86rq3n"; + rev = "50f30bcd8c62ac4a83d133d738f268279f2c2ce2"; + sha256 = "0av2zr0bnc7m1f36iyvs54x9xl52hfj7n04y8c993brh8ibn70mv"; }; meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/"; }; nvim-treesitter = buildVimPlugin { pname = "nvim-treesitter"; - version = "2023-12-15"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "194b3f0047816132b08bcc2857b23a49fa967d04"; - sha256 = "0mx5b8q0czirif5wzran7x8vcafb07xhz72zslqlhm9nx1vfl2fk"; + rev = "0dfbf5e48e8551212c2a9f1c74cb080c8e76b5d1"; + sha256 = "1vy1xgxi696j4as5l9831jpy1v1x3kfn1mak7gn0fyv97a987b25"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; }; nvim-treesitter-context = buildVimPlugin { pname = "nvim-treesitter-context"; - version = "2023-12-08"; + version = "2023-12-16"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter-context"; - rev = "cfa8ee19ac9bae9b7fb2958eabe2b45b70c56ccb"; - sha256 = "1qz089qfmn1ksv82jmjl5flgkfspmsjn0midwb3jvgdn56x58ypc"; + rev = "c9f2b429a1d63023f7a33b5404616f4cd2a109c5"; + sha256 = "0cm1fj9yjs7i0zfz4laj7zmnzypsz9a77fp7bjfvvy5xllnhwjyp"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/"; }; @@ -7728,12 +7728,12 @@ final: prev: nvim-ufo = buildVimPlugin { pname = "nvim-ufo"; - version = "2023-12-02"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "kevinhwang91"; repo = "nvim-ufo"; - rev = "9fa77fb7e4365a053a5303b773aaf5eaf806d1f4"; - sha256 = "07idni9j2yzv5wxc1amg8w3sbrmn07kqsdm4wza5pz6j444fjksm"; + rev = "a15944ff8e3d570f504f743d55209275ed1169c4"; + sha256 = "05afg6g2csb95xfpgspm5d8avmpfb1cy4mb65lql72hx93bw0z80"; }; meta.homepage = "https://github.com/kevinhwang91/nvim-ufo/"; }; @@ -7776,12 +7776,12 @@ final: prev: nvim-window-picker = buildVimPlugin { pname = "nvim-window-picker"; - version = "2023-09-24"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "s1n7ax"; repo = "nvim-window-picker"; - rev = "e7b6699fbd007bbe61dc444734b9bade445b2984"; - sha256 = "01l5d0bylgv1kg4wlq3n2rk656fzh0scy68l88nkbra7qqj9d5i2"; + rev = "41cfaa428577c53552200a404ae9b3a0b5719706"; + sha256 = "1bcjsx5qgvj1gi6zdi3fwc44x7afh35xbyrjik0dzl3hj6ds960g"; }; meta.homepage = "https://github.com/s1n7ax/nvim-window-picker/"; }; @@ -7860,12 +7860,12 @@ final: prev: octo-nvim = buildVimPlugin { pname = "octo.nvim"; - version = "2023-12-12"; + version = "2023-12-16"; src = fetchFromGitHub { owner = "pwntester"; repo = "octo.nvim"; - rev = "6825996fc73546f1df50dbf8a6b9ddc11c0f011d"; - sha256 = "0wxm76skvaxw1wz1gxwqhsk5yayp6icjrys434h1mcaamzkr7j72"; + rev = "4a60f50bb886572a59fde095b990fa28e2b50dba"; + sha256 = "0dzh4h1zqv94f3zmrn31cs54pbwkz1ws3dppd9rsyl1fyi4hs28y"; }; meta.homepage = "https://github.com/pwntester/octo.nvim/"; }; @@ -7883,6 +7883,18 @@ final: prev: meta.homepage = "https://github.com/stevearc/oil.nvim/"; }; + ollama-nvim = buildVimPlugin { + pname = "ollama.nvim"; + version = "2023-12-03"; + src = fetchFromGitHub { + owner = "nomnivore"; + repo = "ollama.nvim"; + rev = "4e3d7dfa9454fc4fd4751e167f7f6a44b93bf594"; + sha256 = "1n5a9xgjmm4d8d6gpyb5392a5xhppqlyc90ljj9pqss3irbh7ivx"; + }; + meta.homepage = "https://github.com/nomnivore/ollama.nvim/"; + }; + omnisharp-extended-lsp-nvim = buildVimPlugin { pname = "omnisharp-extended-lsp.nvim"; version = "2023-04-14"; @@ -8524,11 +8536,11 @@ final: prev: rainbow-delimiters-nvim = buildVimPlugin { pname = "rainbow-delimiters.nvim"; - version = "2023-12-13"; + version = "2023-12-17"; src = fetchgit { url = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim"; - rev = "0b4c1ab6724062f3582746c6a5a8c0636bf7ed81"; - sha256 = "0xz7m7xr6v467hglncdqc6jayh7qj4fyh3f7sgv8yyxlm8bf8prd"; + rev = "b510fd445b6ee0b621e910e4b3e123e48d6bb436"; + sha256 = "152jan5vpvn5mdv7cfc2gshnsrgq9qw17xqddz6d6n4p7pywfbr6"; }; meta.homepage = "https://gitlab.com/HiPhish/rainbow-delimiters.nvim"; }; @@ -8775,12 +8787,12 @@ final: prev: rustaceanvim = buildNeovimPlugin { pname = "rustaceanvim"; - version = "2023-12-14"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "mrcjkb"; repo = "rustaceanvim"; - rev = "ff208ee3c9d67f450e88eb05417ad256c7ebfec4"; - sha256 = "0nlxs1bwmc114rfhhfig7zyfw4j0j1mhmrddrhzpg6vnc7a813mm"; + rev = "a13e311d449034b49d0144a411e0c8be3d5354cd"; + sha256 = "0nlx7w1wi9dsji4d84f7niw74cc5mxar3q95qwydqpha3vz201s5"; }; meta.homepage = "https://github.com/mrcjkb/rustaceanvim/"; }; @@ -9813,12 +9825,12 @@ final: prev: telescope-live-grep-args-nvim = buildVimPlugin { pname = "telescope-live-grep-args.nvim"; - version = "2023-08-28"; + version = "2023-12-15"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope-live-grep-args.nvim"; - rev = "851c0997d55601f2afd7290db0f90dc364e29f58"; - sha256 = "0c3hrbrxkcf1qz8djlkmf10fzn34i637sy3ijkdc0ywx1cqr6r1g"; + rev = "731a046da7dd3adff9de871a42f9b7fb85f60f47"; + sha256 = "0sczw6b6vk01cdncyfq6svasrfrisbxd3valsxy0qrv768h2sqwl"; }; meta.homepage = "https://github.com/nvim-telescope/telescope-live-grep-args.nvim/"; }; @@ -9873,12 +9885,12 @@ final: prev: telescope-sg = buildVimPlugin { pname = "telescope-sg"; - version = "2023-08-09"; + version = "2023-12-16"; src = fetchFromGitHub { owner = "Marskey"; repo = "telescope-sg"; - rev = "2e770cda77cb893035a5db5e67ea3ff45e6fc458"; - sha256 = "1pgc3va2j7wp49aq0kxnsqlybl0xa668y9xwqfznpxdpr09vlvln"; + rev = "68289496f5612a756953756f8d1e8cc0ecee9e5d"; + sha256 = "07fnrqrf59krvql35zayggl42icgjv23k5sqwyv5vz1wmsp4j1pg"; }; meta.homepage = "https://github.com/Marskey/telescope-sg/"; }; @@ -10090,12 +10102,12 @@ final: prev: text-case-nvim = buildVimPlugin { pname = "text-case.nvim"; - version = "2023-12-15"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "johmsalas"; repo = "text-case.nvim"; - rev = "68a0a58996d58ed36fbfc945821a34e7b953d12a"; - sha256 = "1slnj1hcb9125j8ybz1b9bsfayy2b4967c1jspwqry7p839ihld2"; + rev = "ada81738da3f1ed08f5e4ac95fa21213a0221b22"; + sha256 = "1dy6v1d3iv92j88ydcgzjccnv6f213vhpnb27r6rv8hd3z6h4dfv"; }; meta.homepage = "https://github.com/johmsalas/text-case.nvim/"; }; @@ -10367,12 +10379,12 @@ final: prev: typescript-tools-nvim = buildVimPlugin { pname = "typescript-tools.nvim"; - version = "2023-12-06"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "pmizio"; repo = "typescript-tools.nvim"; - rev = "cbc454075741cd942a5ba92d64613533782f37c7"; - sha256 = "11drqab3jza6045i7c88h146jvs3979zshl7y0vhajvib4pcgq6w"; + rev = "829b5dc4f6704b249624e5157ad094dcb20cdc6b"; + sha256 = "0y1m35b5i7s856xk50kwczi08s5r313qkpjny0f7acg5hz60kz1v"; }; meta.homepage = "https://github.com/pmizio/typescript-tools.nvim/"; }; @@ -10451,12 +10463,12 @@ final: prev: unison = buildVimPlugin { pname = "unison"; - version = "2023-12-15"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "unisonweb"; repo = "unison"; - rev = "d2bb9576005fae111918d653bee24e907f633ede"; - sha256 = "1yp117d87q50fal71c8sxz9acd0ygcy0fg3r7g6h6r70rpkzayiz"; + rev = "e690c5f57e12f5883ffd44ead57bf2942c1fedd0"; + sha256 = "09vlww4yxsxal0pnif1an0lqpkvf5zjnkvmz0h7yyfdpmq1prmxq"; }; meta.homepage = "https://github.com/unisonweb/unison/"; }; @@ -10547,12 +10559,12 @@ final: prev: vifm-vim = buildVimPlugin { pname = "vifm.vim"; - version = "2023-11-21"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "vifm"; repo = "vifm.vim"; - rev = "61c56c7865ac9708cb4615ff0281e94297f82c1f"; - sha256 = "1rq47x48dgsvs0z5hqmb87kba8rkz1w178cbshxjwxzb92v701qc"; + rev = "8cea10925699a8f77f6d9ebb5df87a5995fbd3f2"; + sha256 = "13wlrsri5m6yvfrcjkfsr70r5rxbzga90ba03m6n397xfmybx506"; }; meta.homepage = "https://github.com/vifm/vifm.vim/"; }; @@ -12167,12 +12179,12 @@ final: prev: vim-fugitive = buildVimPlugin { pname = "vim-fugitive"; - version = "2023-10-29"; + version = "2023-12-15"; src = fetchFromGitHub { owner = "tpope"; repo = "vim-fugitive"; - rev = "46eaf8918b347906789df296143117774e827616"; - sha256 = "1xqznxw6f0arrvb4i5m2y3pkxy0lg5dimkzgm8rwci47w2r7rb3g"; + rev = "59659093581aad2afacedc81f009ed6a4bfad275"; + sha256 = "1h5l6257vqk41h93nv5ipvccglqnz1bjqh6dsds1q4x2l80xn61v"; }; meta.homepage = "https://github.com/tpope/vim-fugitive/"; }; @@ -12901,12 +12913,12 @@ final: prev: vim-just = buildVimPlugin { pname = "vim-just"; - version = "2023-12-13"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "NoahTheDuke"; repo = "vim-just"; - rev = "db122b74305993402150e18fad9568a5a0b542e8"; - sha256 = "0d1m1nda6r8wpbywl27xg3dwjfxnxy1vwiq9pp3m77d9blcnwgwf"; + rev = "e2e42ae765f53569efb7178a7bbb9a6977d269e2"; + sha256 = "0a930prjv6b09qkn2zwmn5bxs73sad48v3mr8g9b7f0i4528iklz"; }; meta.homepage = "https://github.com/NoahTheDuke/vim-just/"; }; @@ -13165,12 +13177,12 @@ final: prev: vim-lsp-settings = buildVimPlugin { pname = "vim-lsp-settings"; - version = "2023-12-15"; + version = "2023-12-16"; src = fetchFromGitHub { owner = "mattn"; repo = "vim-lsp-settings"; - rev = "a0c5cf830a45795142b65ff38268265889757a00"; - sha256 = "067qn02q7mazd9wngmxmb1kq1zs5ig0dsyxl4gicd6m41d5x6p4k"; + rev = "6ecefa41a56252fe06627f0b63804f62108d48c1"; + sha256 = "1qdprq2irgbig6cnr8iw0hw9a0g7kdccxy9m14wsn6x2wn010sjy"; }; meta.homepage = "https://github.com/mattn/vim-lsp-settings/"; }; @@ -13286,12 +13298,12 @@ final: prev: vim-matchup = buildVimPlugin { pname = "vim-matchup"; - version = "2023-11-24"; + version = "2023-12-19"; src = fetchFromGitHub { owner = "andymass"; repo = "vim-matchup"; - rev = "269f9bea87e20a01438085eb13df539929a12727"; - sha256 = "0ca3fhdr6pp77z72lxlhlkzi1ng713nfzvyywmq8a31z8j2vkh87"; + rev = "2550178c43464134ce65328da458905f70dbe041"; + sha256 = "0y3kgj7jaa6g4ydfp1cjbishzsvb9qrd5k2lswm7hag0fisxhig7"; }; meta.homepage = "https://github.com/andymass/vim-matchup/"; }; @@ -13442,12 +13454,12 @@ final: prev: vim-mundo = buildVimPlugin { pname = "vim-mundo"; - version = "2022-11-05"; + version = "2023-12-15"; src = fetchFromGitHub { owner = "simnalamburt"; repo = "vim-mundo"; - rev = "b53d35fb5ca9923302b9ef29e618ab2db4cc675e"; - sha256 = "1dwrarcxrh8in78igm036lpvyww60c93vmmlk8h054i3v2p8vv59"; + rev = "2ceda8c65f7b3f9066820729fc02003a09df91f9"; + sha256 = "0mrwkjq5a2krh6dim2sj5816dwj9lx2zmd1vpmhc88y5lwkhsy4m"; }; meta.homepage = "https://github.com/simnalamburt/vim-mundo/"; }; @@ -13778,12 +13790,12 @@ final: prev: vim-pandoc = buildVimPlugin { pname = "vim-pandoc"; - version = "2023-11-10"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "vim-pandoc"; repo = "vim-pandoc"; - rev = "84ff781925a28346df99d3764ec697c3088862a7"; - sha256 = "09lswvc5s97brx6iimkbqslmsmbb19nz0s6w0hpss8vf0fy38a8l"; + rev = "fae27ec62606b6b914de5270985a69d1b5da1287"; + sha256 = "139lg369mrh0zkk3bh1fgp2iz54m8fjp7rgyy3j25ivylna5lzn8"; }; meta.homepage = "https://github.com/vim-pandoc/vim-pandoc/"; }; @@ -15315,12 +15327,12 @@ final: prev: vim-which-key = buildVimPlugin { pname = "vim-which-key"; - version = "2023-09-14"; + version = "2023-12-16"; src = fetchFromGitHub { owner = "liuchengxu"; repo = "vim-which-key"; - rev = "08cf520fc4785e656dfdb319ecf6fe9e75bfc4fa"; - sha256 = "033flr2sqlhmn7qilx5nz1z14kmy8dwzdh86rg8xh21r2894adx9"; + rev = "a03cb503b0de6f5071a7263f5fb8d63493e901e5"; + sha256 = "095rg29ydsazjqa0ks34b5d6gvq37rin4q2qwqxq2994yb8a530m"; }; meta.homepage = "https://github.com/liuchengxu/vim-which-key/"; }; @@ -15423,12 +15435,12 @@ final: prev: vim-zettel = buildVimPlugin { pname = "vim-zettel"; - version = "2023-10-31"; + version = "2023-12-17"; src = fetchFromGitHub { owner = "michal-h21"; repo = "vim-zettel"; - rev = "5c23544a89ef5a820d3744e4bccbcfbeed3cc9be"; - sha256 = "0bpwgrml3yaszh39nkf3zxk4q4djjjlhyb8xjyikn1a4yvl0fs0y"; + rev = "e4995b97a4f6f822144ad61b68929ea5fa4e524e"; + sha256 = "05k7jyclx2351zff26i17aypskhcxav1zv2n7k87s03c04kl3x00"; }; meta.homepage = "https://github.com/michal-h21/vim-zettel/"; }; @@ -15604,12 +15616,12 @@ final: prev: vimtex = buildVimPlugin { pname = "vimtex"; - version = "2023-12-10"; + version = "2023-12-18"; src = fetchFromGitHub { owner = "lervag"; repo = "vimtex"; - rev = "29b6c052707b2d713fe2097cd5df54ce12ba2f90"; - sha256 = "0ciwazc4hw2ig44c2fc259s0krf5hi92r2vrd4zx47fs3ah2gq03"; + rev = "e7ce03ea517c5b61ec9703a44019481678d60af3"; + sha256 = "0i8crnv5h9swdi22bxp8sj7s59lnjy2ryqslbxydq2vb8kq4cr4c"; }; meta.homepage = "https://github.com/lervag/vimtex/"; }; @@ -16089,8 +16101,8 @@ final: prev: src = fetchFromGitHub { owner = "catppuccin"; repo = "nvim"; - rev = "32ee05d014a4611555c7f56a73283efb4718d9c5"; - sha256 = "1r835mhmqs6akdnyg0sd1mszk97mgfxkdx0dqzg7mmqi9vnqrcaz"; + rev = "079500a625f3ae5aa6efb758f1a17fe4c7a57e52"; + sha256 = "0qc5bfbjax0ml3k49p95cwrx8163nl5rg2rr707yamhx0mi2lmnc"; }; meta.homepage = "https://github.com/catppuccin/nvim/"; }; @@ -16145,12 +16157,12 @@ final: prev: harpoon2 = buildVimPlugin { pname = "harpoon2"; - version = "2023-12-15"; + version = "2023-12-16"; src = fetchFromGitHub { owner = "ThePrimeagen"; repo = "harpoon"; - rev = "362cdc869f7e10c470afdd437c65c4e9d5129018"; - sha256 = "0pic3pfdp81756pc8skaqrqy06xw8qp7gyb2ncxnkigr13kv6ijz"; + rev = "9031087ff1b18d0a34bd664719ec66cc8be1efd8"; + sha256 = "0ps015gzdbgajqbprkzbrawhqs477yf9xsh6sss7gd05f6cissx1"; }; meta.homepage = "https://github.com/ThePrimeagen/harpoon/"; }; From da92887a3d1384d8fb22d5dcd8eee628cbe18a65 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 19 Dec 2023 16:37:40 +0100 Subject: [PATCH 24/32] vimPlugins.nvim-treesitter: update grammars --- .../vim/plugins/nvim-treesitter/generated.nix | 59 +++++++++++-------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix index d14e5f1cda9d..0b0aa3d6395f 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix @@ -506,12 +506,12 @@ }; elm = buildGrammar { language = "elm"; - version = "0.0.0+rev=0ae8d47"; + version = "0.0.0+rev=44ffae4"; src = fetchFromGitHub { owner = "elm-tooling"; repo = "tree-sitter-elm"; - rev = "0ae8d475281a25e9d7ab1068a952ff9a1615c0df"; - hash = "sha256-MCvzk5sJiA/JgQqI6fyVnjy5mA7bwmZvzWwdKS0PDQc="; + rev = "44ffae46bb460820c3c3d6fde20378202bd4b0ab"; + hash = "sha256-pPu0bkctiSXmGHMQMsOYEoDyEiX71+/VKGKNZC/o+eU="; }; meta.homepage = "https://github.com/elm-tooling/tree-sitter-elm"; }; @@ -550,12 +550,12 @@ }; erlang = buildGrammar { language = "erlang"; - version = "0.0.0+rev=0821889"; + version = "0.0.0+rev=57e6951"; src = fetchFromGitHub { owner = "WhatsApp"; repo = "tree-sitter-erlang"; - rev = "08218898824c68fc8439cba1540042081e2da18d"; - hash = "sha256-0IFJFA2/eN72OjYFPPVhkYdMNKuTrhrXdlgUGjv00Y0="; + rev = "57e69513efd831f9cc8207d65d96bad917ca4aa4"; + hash = "sha256-7Me0zj/+uNXgBOAyiFgljyA3hLkdGeyBKn+CaBhODMA="; }; meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang"; }; @@ -803,12 +803,12 @@ }; gomod = buildGrammar { language = "gomod"; - version = "0.0.0+rev=af4270a"; + version = "0.0.0+rev=9b86399"; src = fetchFromGitHub { owner = "camdencheek"; repo = "tree-sitter-go-mod"; - rev = "af4270aed18500af1d24e6de5f6e7d243e2c8b05"; - hash = "sha256-H4IrEXdGGa0GQEMcteKgIBl+bkAoOy64Om2uc6Aany0="; + rev = "9b86399ab733fbd548ba0e817e732cb3351082d2"; + hash = "sha256-STi1lqsfmaiMKrk7C6fjkmJ0ehhTf+AF6hly34/3BIg="; }; meta.homepage = "https://github.com/camdencheek/tree-sitter-go-mod"; }; @@ -902,12 +902,12 @@ }; haskell = buildGrammar { language = "haskell"; - version = "0.0.0+rev=23ad72f"; + version = "0.0.0+rev=5260f60"; src = fetchFromGitHub { owner = "tree-sitter"; repo = "tree-sitter-haskell"; - rev = "23ad72f4b755269004a0a3f3796192705313643d"; - hash = "sha256-2MtxGMqxhKHuQQ8sME4QzVe1NxsMok6JZrg7Etgi1lg="; + rev = "5260f606ec353f156751473a0c203d67167c0ebe"; + hash = "sha256-id64ir/HZl6okR+Hbnl3tYM9ol3ObqigzntsP/8hfLE="; }; meta.homepage = "https://github.com/tree-sitter/tree-sitter-haskell"; }; @@ -1455,12 +1455,12 @@ }; nim = buildGrammar { language = "nim"; - version = "0.0.0+rev=0fdb059"; + version = "0.0.0+rev=482e2f4"; src = fetchFromGitHub { owner = "alaviss"; repo = "tree-sitter-nim"; - rev = "0fdb059ce7c1926a0287c3deb80e20186e4451d7"; - hash = "sha256-dalcbpzdY0ZIEWNkcD5j/9Ifq/IyvGHu+SEMME6p2ws="; + rev = "482e2f4e1c2520db711c57f1899e926c3e81d4eb"; + hash = "sha256-OGZUNoVpsIMQuvYa23b6O15ekTWXbVYAqaYokYs0ugY="; }; meta.homepage = "https://github.com/alaviss/tree-sitter-nim"; }; @@ -2241,6 +2241,17 @@ }; meta.homepage = "https://github.com/sigmaSd/tree-sitter-strace"; }; + styled = buildGrammar { + language = "styled"; + version = "0.0.0+rev=e51e673"; + src = fetchFromGitHub { + owner = "mskelton"; + repo = "tree-sitter-styled"; + rev = "e51e673efc860373167680b4bcbf418a11e4ed26"; + hash = "sha256-s9omwcuIAXgpwWTpyRpessA5fOeWqRqTctBKr3rUeNc="; + }; + meta.homepage = "https://github.com/mskelton/tree-sitter-styled"; + }; supercollider = buildGrammar { language = "supercollider"; version = "0.0.0+rev=3b35bd0"; @@ -2344,12 +2355,12 @@ }; templ = buildGrammar { language = "templ"; - version = "0.0.0+rev=6b9dff6"; + version = "0.0.0+rev=671e9a9"; src = fetchFromGitHub { owner = "vrischmann"; repo = "tree-sitter-templ"; - rev = "6b9dff614d5bab902cb6989bfcaa180636218159"; - hash = "sha256-89CJkVuNWm3V3Iz8iCx1pLIJwhyPcEfDB3ZqqiwZEdU="; + rev = "671e9a957acd40088919ca17b30f4a39870784d4"; + hash = "sha256-ugBu/05WLmCL1D5bzzaLND/nIQIWXXSurouBewOte8A="; }; meta.homepage = "https://github.com/vrischmann/tree-sitter-templ"; }; @@ -2558,12 +2569,12 @@ }; v = buildGrammar { language = "v"; - version = "0.0.0+rev=f7c31c7"; + version = "0.0.0+rev=eced04c"; src = fetchFromGitHub { owner = "v-analyzer"; repo = "v-analyzer"; - rev = "f7c31c7578ebd35b95cfa85c6461ed6480697a9a"; - hash = "sha256-MmnV7k8xmPGKUoVwf66y5JI8IzHcC7n0fstOMbj3UG0="; + rev = "eced04c473f3bcb49f9c8ac91744451a9ab40310"; + hash = "sha256-fT/jqaKwUP7KWT+RT9V23HAL0Ol7mr/8NWNbYtSFhBI="; }; location = "tree_sitter_v"; meta.homepage = "https://github.com/v-analyzer/v-analyzer"; @@ -2658,12 +2669,12 @@ }; wing = buildGrammar { language = "wing"; - version = "0.0.0+rev=698e645"; + version = "0.0.0+rev=b5fa0cb"; src = fetchFromGitHub { owner = "winglang"; repo = "wing"; - rev = "698e645b30e871a58c7de68e0ecd6d2ebbdd0009"; - hash = "sha256-7MlqVa0g/+RmSD9Aa7FW50icoQfv5Gj/3l2YMFDSU30="; + rev = "b5fa0cb75ee96d3ff19df59085d508240f5b0fd5"; + hash = "sha256-SqPw0LxxJiarYR3YIPKxAuFGWJw6dUwSVFbey3z2OAA="; }; location = "libs/tree-sitter-wing"; generate = true; From 090b929b8ab9b7df11825554828f0cb51e9eab9b Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Mon, 27 Nov 2023 17:14:36 -0800 Subject: [PATCH 25/32] lib.packagesFromDirectoryRecursive: init Co-authored-by: Gabriella Gonzalez --- lib/default.nix | 3 +- lib/filesystem.nix | 154 ++++++++++++++++++ lib/tests/misc.nix | 33 ++++ lib/tests/packages-from-directory/a.nix | 2 + lib/tests/packages-from-directory/b.nix | 2 + .../c/my-extra-feature.patch | 0 .../c/not-a-namespace/not-a-package.nix | 0 .../packages-from-directory/c/package.nix | 2 + .../c/support-definitions.nix | 0 .../my-namespace/d.nix | 2 + .../my-namespace/e.nix | 2 + .../my-namespace/f/package.nix | 2 + .../my-namespace/my-sub-namespace/g.nix | 2 + .../my-namespace/my-sub-namespace/h.nix | 2 + 14 files changed, 205 insertions(+), 1 deletion(-) create mode 100644 lib/tests/packages-from-directory/a.nix create mode 100644 lib/tests/packages-from-directory/b.nix create mode 100644 lib/tests/packages-from-directory/c/my-extra-feature.patch create mode 100644 lib/tests/packages-from-directory/c/not-a-namespace/not-a-package.nix create mode 100644 lib/tests/packages-from-directory/c/package.nix create mode 100644 lib/tests/packages-from-directory/c/support-definitions.nix create mode 100644 lib/tests/packages-from-directory/my-namespace/d.nix create mode 100644 lib/tests/packages-from-directory/my-namespace/e.nix create mode 100644 lib/tests/packages-from-directory/my-namespace/f/package.nix create mode 100644 lib/tests/packages-from-directory/my-namespace/my-sub-namespace/g.nix create mode 100644 lib/tests/packages-from-directory/my-namespace/my-sub-namespace/h.nix diff --git a/lib/default.nix b/lib/default.nix index a2958e561cf3..0aa344acf927 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -120,7 +120,8 @@ let inherit (self.meta) addMetaAttrs dontDistribute setName updateName appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio hiPrioSet getLicenseFromSpdxId getExe getExe'; - inherit (self.filesystem) pathType pathIsDirectory pathIsRegularFile; + inherit (self.filesystem) pathType pathIsDirectory pathIsRegularFile + packagesFromDirectoryRecursive; inherit (self.sources) cleanSourceFilter cleanSource sourceByRegex sourceFilesBySuffices commitIdFromGitRepo cleanSourceWith pathHasContext diff --git a/lib/filesystem.nix b/lib/filesystem.nix index 5569b8ac80fd..c416db02eb57 100644 --- a/lib/filesystem.nix +++ b/lib/filesystem.nix @@ -9,11 +9,22 @@ let inherit (builtins) readDir pathExists + toString + ; + + inherit (lib.attrsets) + mapAttrs' + filterAttrs ; inherit (lib.filesystem) pathType ; + + inherit (lib.strings) + hasSuffix + removeSuffix + ; in { @@ -154,4 +165,147 @@ in dir + "/${name}" ) (builtins.readDir dir)); + /* + Transform a directory tree containing package files suitable for + `callPackage` into a matching nested attribute set of derivations. + + For a directory tree like this: + + ``` + my-packages + ├── a.nix + ├── b.nix + ├── c + │ ├── my-extra-feature.patch + │ ├── package.nix + │ └── support-definitions.nix + └── my-namespace + ├── d.nix + ├── e.nix + └── f + └── package.nix + ``` + + `packagesFromDirectoryRecursive` will produce an attribute set like this: + + ```nix + # packagesFromDirectoryRecursive { + # callPackage = pkgs.callPackage; + # directory = ./my-packages; + # } + { + a = pkgs.callPackage ./my-packages/a.nix { }; + b = pkgs.callPackage ./my-packages/b.nix { }; + c = pkgs.callPackage ./my-packages/c/package.nix { }; + my-namespace = { + d = pkgs.callPackage ./my-packages/my-namespace/d.nix { }; + e = pkgs.callPackage ./my-packages/my-namespace/e.nix { }; + f = pkgs.callPackage ./my-packages/my-namespace/f/package.nix { }; + }; + } + ``` + + In particular: + - If the input directory contains a `package.nix` file, then + `callPackage /package.nix { }` is returned. + - Otherwise, the input directory's contents are listed and transformed into + an attribute set. + - If a file name has the `.nix` extension, it is turned into attribute + where: + - The attribute name is the file name without the `.nix` extension + - The attribute value is `callPackage { }` + - Other files are ignored. + - Directories are turned into an attribute where: + - The attribute name is the name of the directory + - The attribute value is the result of calling + `packagesFromDirectoryRecursive { ... }` on the directory. + + As a result, directories with no `.nix` files (including empty + directories) will be transformed into empty attribute sets. + + Example: + packagesFromDirectoryRecursive { + inherit (pkgs) callPackage; + directory = ./my-packages; + } + => { ... } + + lib.makeScope pkgs.newScope ( + self: packagesFromDirectoryRecursive { + callPackage = self.callPackage; + directory = ./my-packages; + } + ) + => { ... } + + Type: + packagesFromDirectoryRecursive :: AttrSet -> AttrSet + */ + packagesFromDirectoryRecursive = + # Options. + { + /* + `pkgs.callPackage` + + Type: + Path -> AttrSet -> a + */ + callPackage, + /* + The directory to read package files from + + Type: + Path + */ + directory, + ... + }: + let + # Determine if a directory entry from `readDir` indicates a package or + # directory of packages. + directoryEntryIsPackage = basename: type: + type == "directory" || hasSuffix ".nix" basename; + + # List directory entries that indicate packages in the given `path`. + packageDirectoryEntries = path: + filterAttrs directoryEntryIsPackage (readDir path); + + # Transform a directory entry (a `basename` and `type` pair) into a + # package. + directoryEntryToAttrPair = subdirectory: basename: type: + let + path = subdirectory + "/${basename}"; + in + if type == "regular" + then + { + name = removeSuffix ".nix" basename; + value = callPackage path { }; + } + else + if type == "directory" + then + { + name = basename; + value = packagesFromDirectory path; + } + else + throw + '' + lib.filesystem.packagesFromDirectoryRecursive: Unsupported file type ${type} at path ${toString subdirectory} + ''; + + # Transform a directory into a package (if there's a `package.nix`) or + # set of packages (otherwise). + packagesFromDirectory = path: + let + defaultPackagePath = path + "/package.nix"; + in + if pathExists defaultPackagePath + then callPackage defaultPackagePath { } + else mapAttrs' + (directoryEntryToAttrPair path) + (packageDirectoryEntries path); + in + packagesFromDirectory directory; } diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index 9f1fee2ba234..87b63eb4d5fc 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -1988,4 +1988,37 @@ runTests { expr = meta.platformMatch { } "x86_64-linux"; expected = false; }; + + testPackagesFromDirectoryRecursive = { + expr = packagesFromDirectoryRecursive { + callPackage = path: overrides: import path overrides; + directory = ./packages-from-directory; + }; + expected = { + a = "a"; + b = "b"; + # Note: Other files/directories in `./test-data/c/` are ignored and can be + # used by `package.nix`. + c = "c"; + my-namespace = { + d = "d"; + e = "e"; + f = "f"; + my-sub-namespace = { + g = "g"; + h = "h"; + }; + }; + }; + }; + + # Check that `packagesFromDirectoryRecursive` can process a directory with a + # top-level `package.nix` file into a single package. + testPackagesFromDirectoryRecursiveTopLevelPackageNix = { + expr = packagesFromDirectoryRecursive { + callPackage = path: overrides: import path overrides; + directory = ./packages-from-directory/c; + }; + expected = "c"; + }; } diff --git a/lib/tests/packages-from-directory/a.nix b/lib/tests/packages-from-directory/a.nix new file mode 100644 index 000000000000..54f9eafd8e87 --- /dev/null +++ b/lib/tests/packages-from-directory/a.nix @@ -0,0 +1,2 @@ +{ }: +"a" diff --git a/lib/tests/packages-from-directory/b.nix b/lib/tests/packages-from-directory/b.nix new file mode 100644 index 000000000000..345b3c25fa2a --- /dev/null +++ b/lib/tests/packages-from-directory/b.nix @@ -0,0 +1,2 @@ +{ }: +"b" diff --git a/lib/tests/packages-from-directory/c/my-extra-feature.patch b/lib/tests/packages-from-directory/c/my-extra-feature.patch new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/lib/tests/packages-from-directory/c/not-a-namespace/not-a-package.nix b/lib/tests/packages-from-directory/c/not-a-namespace/not-a-package.nix new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/lib/tests/packages-from-directory/c/package.nix b/lib/tests/packages-from-directory/c/package.nix new file mode 100644 index 000000000000..c1203cdde960 --- /dev/null +++ b/lib/tests/packages-from-directory/c/package.nix @@ -0,0 +1,2 @@ +{ }: +"c" diff --git a/lib/tests/packages-from-directory/c/support-definitions.nix b/lib/tests/packages-from-directory/c/support-definitions.nix new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/lib/tests/packages-from-directory/my-namespace/d.nix b/lib/tests/packages-from-directory/my-namespace/d.nix new file mode 100644 index 000000000000..6e5eaa09e995 --- /dev/null +++ b/lib/tests/packages-from-directory/my-namespace/d.nix @@ -0,0 +1,2 @@ +{ }: +"d" diff --git a/lib/tests/packages-from-directory/my-namespace/e.nix b/lib/tests/packages-from-directory/my-namespace/e.nix new file mode 100644 index 000000000000..50bd742f800c --- /dev/null +++ b/lib/tests/packages-from-directory/my-namespace/e.nix @@ -0,0 +1,2 @@ +{ }: +"e" diff --git a/lib/tests/packages-from-directory/my-namespace/f/package.nix b/lib/tests/packages-from-directory/my-namespace/f/package.nix new file mode 100644 index 000000000000..c9a66c2eb120 --- /dev/null +++ b/lib/tests/packages-from-directory/my-namespace/f/package.nix @@ -0,0 +1,2 @@ +{ }: +"f" diff --git a/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/g.nix b/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/g.nix new file mode 100644 index 000000000000..4ecaffbf1dc7 --- /dev/null +++ b/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/g.nix @@ -0,0 +1,2 @@ +{ }: +"g" diff --git a/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/h.nix b/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/h.nix new file mode 100644 index 000000000000..3756275ba752 --- /dev/null +++ b/lib/tests/packages-from-directory/my-namespace/my-sub-namespace/h.nix @@ -0,0 +1,2 @@ +{ }: +"h" From fc219f85fac1fae8979f6e921ec932ae5591fc0c Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 19 Dec 2023 11:13:10 -0800 Subject: [PATCH 26/32] prometheus-mysqld-exporter: 0.15.0 -> 0.15.1 (#275110) --- pkgs/servers/monitoring/prometheus/mysqld-exporter.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix index f0d2ac078274..2e2bead90b35 100644 --- a/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "mysqld_exporter"; - version = "0.15.0"; + version = "0.15.1"; src = fetchFromGitHub { owner = "prometheus"; repo = "mysqld_exporter"; rev = "v${version}"; - sha256 = "sha256-LW9vH//TjnKbZGMF3owDSUx/Mu0TUuWxMtmdeKM/q7k="; + sha256 = "sha256-P7EoWa0BWuAr3sjtrUxzofwlklhRLpzwpGVe31hFo7Q="; }; - vendorHash = "sha256-8zoiYSW8/z1Ch5W1WJHbWAPKFUOhUT8YcjrvyhwI+8w="; + vendorHash = "sha256-GEL9sMwwdGqpklm4yKNqzSOM6I/JzZjg3+ZB2ix2M8w="; ldflags = let t = "github.com/prometheus/common/version"; in [ "-s" "-w" From 54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Tue, 19 Dec 2023 11:15:32 -0800 Subject: [PATCH 27/32] prometheus-collectd-exporter: 0.5.0 -> 0.6.0 (#275097) --- pkgs/servers/monitoring/prometheus/collectd-exporter.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/collectd-exporter.nix b/pkgs/servers/monitoring/prometheus/collectd-exporter.nix index 8b842b7ce3da..1ff0ad38f47a 100644 --- a/pkgs/servers/monitoring/prometheus/collectd-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/collectd-exporter.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "collectd-exporter"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "prometheus"; repo = "collectd_exporter"; rev = "v${version}"; - sha256 = "0vb6vnd2j87iqxdl86j30dk65vrv4scprv200xb83203aprngqgh"; + sha256 = "sha256-8oibunEHPtNdbhVgF3CL6D/xE7bR8hee6+D2IJMzaqY="; }; - vendorHash = null; + vendorHash = "sha256-fQO2fiotqv18xewXVyh6sA4zx5ZNUR6mCebYenryrKI="; ldflags = [ "-s" "-w" ]; From b34be5a15e2e117d8241e4b2e32df1b5821ff209 Mon Sep 17 00:00:00 2001 From: K900 Date: Tue, 19 Dec 2023 22:23:21 +0300 Subject: [PATCH 28/32] path-of-building.data: 2.38.2 -> 2.38.3 Diff: https://github.com/PathOfBuildingCommunity/PathOfBuilding/compare/v2.38.2...v2.38.3 --- pkgs/games/path-of-building/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix index baa10d462862..c8265d13b1a8 100644 --- a/pkgs/games/path-of-building/default.nix +++ b/pkgs/games/path-of-building/default.nix @@ -2,13 +2,13 @@ let data = stdenv.mkDerivation(finalAttrs: { pname = "path-of-building-data"; - version = "2.38.2"; + version = "2.38.3"; src = fetchFromGitHub { owner = "PathOfBuildingCommunity"; repo = "PathOfBuilding"; rev = "v${finalAttrs.version}"; - hash = "sha256-WgnYjG47E5p0R5MXlDXN8sbh0Y9E8cZN0gMSdkHpXfw="; + hash = "sha256-LzNHc6lx0d+Hg0qkOb9G50V5pYOxH7eavQdcAXE5EKI="; }; nativeBuildInputs = [ unzip ]; From 4dd61b6e68ad858006afcad21558930f597cbc5c Mon Sep 17 00:00:00 2001 From: networkException Date: Fri, 15 Dec 2023 23:13:37 +0100 Subject: [PATCH 29/32] nixos/mastodon: properly escape arguments to psql in init-db script --- nixos/modules/services/web-apps/mastodon.nix | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix index 7b00ce35eb1a..40219edcd447 100644 --- a/nixos/modules/services/web-apps/mastodon.nix +++ b/nixos/modules/services/web-apps/mastodon.nix @@ -711,31 +711,28 @@ in { systemd.services.mastodon-init-db = lib.mkIf cfg.automaticMigrations { script = lib.optionalString (!databaseActuallyCreateLocally) '' umask 077 - - export PGPASSFILE - PGPASSFILE=$(mktemp) - cat > $PGPASSFILE < Date: Mon, 18 Dec 2023 19:58:29 +0100 Subject: [PATCH 30/32] python3Packages.asyncssh: 2.14.1 -> 2.14.2 Mitigates CVE-2023-48795 (so called Terrapin attack). https://github.com/ronf/asyncssh/blob/v2.14.2/docs/changes.rst --- pkgs/development/python-modules/asyncssh/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix index f499adc7bb1e..735e831c0324 100644 --- a/pkgs/development/python-modules/asyncssh/default.nix +++ b/pkgs/development/python-modules/asyncssh/default.nix @@ -20,14 +20,14 @@ buildPythonPackage rec { pname = "asyncssh"; - version = "2.14.1"; + version = "2.14.2"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-GsMcMzoNg8iIMVIyRVAMqoFFA0I3QbDkZTOe9tpbXik="; + hash = "sha256-6Va/iYjQega6MwX2YE4mH0ygFMSiMvCHPxx2kvvjz8I="; }; propagatedBuildInputs = [ From 4a70c1e4da8bd66fe27885d1fba54ffee775e3da Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Wed, 13 Dec 2023 05:42:19 +0100 Subject: [PATCH 31/32] lib.fileset.gitTracked: Support out-of-tree builds --- lib/fileset/default.nix | 6 +++++ lib/fileset/internal.nix | 30 ++++++++++++++++++--- lib/fileset/tests.sh | 56 +++++++++++++++++++++++++++++++++++++--- 3 files changed, 86 insertions(+), 6 deletions(-) diff --git a/lib/fileset/default.nix b/lib/fileset/default.nix index 18acb9a980ca..c007b60def0a 100644 --- a/lib/fileset/default.nix +++ b/lib/fileset/default.nix @@ -763,6 +763,12 @@ in { Create a file set containing all [Git-tracked files](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository) in a repository. The first argument allows configuration with an attribute set, while the second argument is the path to the Git working tree. + + `gitTrackedWith` does not perform any filtering when the path is a [Nix store path](https://nixos.org/manual/nix/stable/store/store-path.html#store-path) and not a repository. + In this way, it accommodates the use case where the expression that makes the `gitTracked` call does not reside in an actual git repository anymore, + and has presumably already been fetched in a way that excludes untracked files. + Fetchers with such equivalent behavior include `builtins.fetchGit`, `builtins.fetchTree` (experimental), and `pkgs.fetchgit` when used without `leaveDotGit`. + If you don't need the configuration, you can use [`gitTracked`](#function-library-lib.fileset.gitTracked) instead. diff --git a/lib/fileset/internal.nix b/lib/fileset/internal.nix index c8a659cd09fd..4059d2e24426 100644 --- a/lib/fileset/internal.nix +++ b/lib/fileset/internal.nix @@ -41,6 +41,8 @@ let inherit (lib.path) append splitRoot + hasStorePathPrefix + splitStorePath ; inherit (lib.path.subpath) @@ -861,6 +863,28 @@ rec { # Type: String -> String -> Path -> Attrs -> FileSet _fromFetchGit = function: argument: path: extraFetchGitAttrs: let + # The code path for when isStorePath is true + tryStorePath = + if pathExists (path + "/.git") then + # If there is a `.git` directory in the path, + # it means that the path was imported unfiltered into the Nix store. + # This function should throw in such a case, because + # - `fetchGit` doesn't generally work with `.git` directories in store paths + # - Importing the entire path could include Git-tracked files + throw '' + lib.fileset.${function}: The ${argument} (${toString path}) is a store path within a working tree of a Git repository. + This indicates that a source directory was imported into the store using a method such as `import "''${./.}"` or `path:.`. + This function currently does not support such a use case, since it currently relies on `builtins.fetchGit`. + You could make this work by using a fetcher such as `fetchGit` instead of copying the whole repository. + If you can't avoid copying the repo to the store, see https://github.com/NixOS/nix/issues/9292.'' + else + # Otherwise we're going to assume that the path was a Git directory originally, + # but it was fetched using a method that already removed files not tracked by Git, + # such as `builtins.fetchGit`, `pkgs.fetchgit` or others. + # So we can just import the path in its entirety. + _singleton path; + + # The code path for when isStorePath is false tryFetchGit = let # This imports the files unnecessarily, which currently can't be avoided @@ -872,13 +896,11 @@ rec { url = path; } // extraFetchGitAttrs); in - if inPureEvalMode then - throw "lib.fileset.${function}: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292." # We can identify local working directories by checking for .git, # see https://git-scm.com/docs/gitrepository-layout#_description. # Note that `builtins.fetchGit` _does_ work for bare repositories (where there's no `.git`), # even though `git ls-files` wouldn't return any files in that case. - else if ! pathExists (path + "/.git") then + if ! pathExists (path + "/.git") then throw "lib.fileset.${function}: Expected the ${argument} (${toString path}) to point to a local working tree of a Git repository, but it's not." else _mirrorStorePath path fetchResult.outPath; @@ -888,6 +910,8 @@ rec { throw "lib.fileset.${function}: Expected the ${argument} to be a path, but it's a ${typeOf path} instead." else if pathType path != "directory" then throw "lib.fileset.${function}: Expected the ${argument} (${toString path}) to be a directory, but it's a file instead." + else if hasStorePathPrefix path then + tryStorePath else tryFetchGit; diff --git a/lib/fileset/tests.sh b/lib/fileset/tests.sh index d55c4fbfdbeb..a5dced038a21 100755 --- a/lib/fileset/tests.sh +++ b/lib/fileset/tests.sh @@ -1401,10 +1401,60 @@ createGitRepo() { git -C "$1" commit -q --allow-empty -m "Empty commit" } -# Check the error message for pure eval mode +# Check that gitTracked[With] works as expected when evaluated out-of-tree + +## First we create a git repositories (and a subrepository) with `default.nix` files referring to their local paths +## Simulating how it would be used in the wild createGitRepo . -expectFailure --simulate-pure-eval 'toSource { root = ./.; fileset = gitTracked ./.; }' 'lib.fileset.gitTracked: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292.' -expectFailure --simulate-pure-eval 'toSource { root = ./.; fileset = gitTrackedWith {} ./.; }' 'lib.fileset.gitTrackedWith: This function is currently not supported in pure evaluation mode, since it currently relies on `builtins.fetchGit`. See https://github.com/NixOS/nix/issues/9292.' +echo '{ fs }: fs.toSource { root = ./.; fileset = fs.gitTracked ./.; }' > default.nix +git add . + +## We can evaluate it locally just fine, `fetchGit` is used underneath to filter git-tracked files +expectEqual '(import ./. { fs = lib.fileset; }).outPath' '(builtins.fetchGit ./.).outPath' + +## We can also evaluate when importing from fetched store paths +storePath=$(expectStorePath 'builtins.fetchGit ./.') +expectEqual '(import '"$storePath"' { fs = lib.fileset; }).outPath' \""$storePath"\" + +## But it fails if the path is imported with a fetcher that doesn't remove .git (like just using "${./.}") +expectFailure 'import "${./.}" { fs = lib.fileset; }' 'lib.fileset.gitTracked: The argument \(.*\) is a store path within a working tree of a Git repository. +\s*This indicates that a source directory was imported into the store using a method such as `import "\$\{./.\}"` or `path:.`. +\s*This function currently does not support such a use case, since it currently relies on `builtins.fetchGit`. +\s*You could make this work by using a fetcher such as `fetchGit` instead of copying the whole repository. +\s*If you can'\''t avoid copying the repo to the store, see https://github.com/NixOS/nix/issues/9292.' + +## Even with submodules +if [[ -n "$fetchGitSupportsSubmodules" ]]; then + ## Both the main repo with the submodule + echo '{ fs }: fs.toSource { root = ./.; fileset = fs.gitTrackedWith { recurseSubmodules = true; } ./.; }' > default.nix + createGitRepo sub + git submodule add ./sub sub >/dev/null + ## But also the submodule itself + echo '{ fs }: fs.toSource { root = ./.; fileset = fs.gitTracked ./.; }' > sub/default.nix + git -C sub add . + + ## We can evaluate it locally just fine, `fetchGit` is used underneath to filter git-tracked files + expectEqual '(import ./. { fs = lib.fileset; }).outPath' '(builtins.fetchGit { url = ./.; submodules = true; }).outPath' + expectEqual '(import ./sub { fs = lib.fileset; }).outPath' '(builtins.fetchGit ./sub).outPath' + + ## We can also evaluate when importing from fetched store paths + storePathWithSub=$(expectStorePath 'builtins.fetchGit { url = ./.; submodules = true; }') + expectEqual '(import '"$storePathWithSub"' { fs = lib.fileset; }).outPath' \""$storePathWithSub"\" + storePathSub=$(expectStorePath 'builtins.fetchGit ./sub') + expectEqual '(import '"$storePathSub"' { fs = lib.fileset; }).outPath' \""$storePathSub"\" + + ## But it fails if the path is imported with a fetcher that doesn't remove .git (like just using "${./.}") + expectFailure 'import "${./.}" { fs = lib.fileset; }' 'lib.fileset.gitTrackedWith: The second argument \(.*\) is a store path within a working tree of a Git repository. + \s*This indicates that a source directory was imported into the store using a method such as `import "\$\{./.\}"` or `path:.`. + \s*This function currently does not support such a use case, since it currently relies on `builtins.fetchGit`. + \s*You could make this work by using a fetcher such as `fetchGit` instead of copying the whole repository. + \s*If you can'\''t avoid copying the repo to the store, see https://github.com/NixOS/nix/issues/9292.' + expectFailure 'import "${./.}/sub" { fs = lib.fileset; }' 'lib.fileset.gitTracked: The argument \(.*/sub\) is a store path within a working tree of a Git repository. + \s*This indicates that a source directory was imported into the store using a method such as `import "\$\{./.\}"` or `path:.`. + \s*This function currently does not support such a use case, since it currently relies on `builtins.fetchGit`. + \s*You could make this work by using a fetcher such as `fetchGit` instead of copying the whole repository. + \s*If you can'\''t avoid copying the repo to the store, see https://github.com/NixOS/nix/issues/9292.' +fi rm -rf -- * # Go through all stages of Git files From 38cf6ff099856e19f83649fcdbc98b5bde58eaca Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Tue, 19 Dec 2023 01:26:42 +0100 Subject: [PATCH 32/32] Remove --simulate-pure-eval --- lib/fileset/tests.sh | 54 +++++++++++++++----------------------------- 1 file changed, 18 insertions(+), 36 deletions(-) diff --git a/lib/fileset/tests.sh b/lib/fileset/tests.sh index a5dced038a21..e809aef6935a 100755 --- a/lib/fileset/tests.sh +++ b/lib/fileset/tests.sh @@ -43,29 +43,17 @@ crudeUnquoteJSON() { cut -d \" -f2 } -prefixExpression() { - echo 'let - lib = - (import ) - ' - if [[ "${1:-}" == "--simulate-pure-eval" ]]; then - echo ' - .extend (final: prev: { - trivial = prev.trivial // { - inPureEvalMode = true; - }; - })' - fi - echo ' - ; - internal = import { - inherit lib; - }; - in - with lib; - with internal; - with lib.fileset;' -} +prefixExpression=' + let + lib = import ; + internal = import { + inherit lib; + }; + in + with lib; + with internal; + with lib.fileset; +' # Check that two nix expression successfully evaluate to the same value. # The expressions have `lib.fileset` in scope. @@ -74,7 +62,7 @@ expectEqual() { local actualExpr=$1 local expectedExpr=$2 if actualResult=$(nix-instantiate --eval --strict --show-trace 2>"$tmp"/actualStderr \ - --expr "$(prefixExpression) ($actualExpr)"); then + --expr "$prefixExpression ($actualExpr)"); then actualExitCode=$? else actualExitCode=$? @@ -82,7 +70,7 @@ expectEqual() { actualStderr=$(< "$tmp"/actualStderr) if expectedResult=$(nix-instantiate --eval --strict --show-trace 2>"$tmp"/expectedStderr \ - --expr "$(prefixExpression) ($expectedExpr)"); then + --expr "$prefixExpression ($expectedExpr)"); then expectedExitCode=$? else expectedExitCode=$? @@ -110,7 +98,7 @@ expectEqual() { expectStorePath() { local expr=$1 if ! result=$(nix-instantiate --eval --strict --json --read-write-mode --show-trace 2>"$tmp"/stderr \ - --expr "$(prefixExpression) ($expr)"); then + --expr "$prefixExpression ($expr)"); then cat "$tmp/stderr" >&2 die "$expr failed to evaluate, but it was expected to succeed" fi @@ -123,16 +111,10 @@ expectStorePath() { # The expression has `lib.fileset` in scope. # Usage: expectFailure NIX REGEX expectFailure() { - if [[ "$1" == "--simulate-pure-eval" ]]; then - maybePure="--simulate-pure-eval" - shift - else - maybePure="" - fi local expr=$1 local expectedErrorRegex=$2 if result=$(nix-instantiate --eval --strict --read-write-mode --show-trace 2>"$tmp/stderr" \ - --expr "$(prefixExpression $maybePure) $expr"); then + --expr "$prefixExpression $expr"); then die "$expr evaluated successfully to $result, but it was expected to fail" fi stderr=$(<"$tmp/stderr") @@ -149,12 +131,12 @@ expectTrace() { local expectedTrace=$2 nix-instantiate --eval --show-trace >/dev/null 2>"$tmp"/stderrTrace \ - --expr "$(prefixExpression) trace ($expr)" || true + --expr "$prefixExpression trace ($expr)" || true actualTrace=$(sed -n 's/^trace: //p' "$tmp/stderrTrace") nix-instantiate --eval --show-trace >/dev/null 2>"$tmp"/stderrTraceVal \ - --expr "$(prefixExpression) traceVal ($expr)" || true + --expr "$prefixExpression traceVal ($expr)" || true actualTraceVal=$(sed -n 's/^trace: //p' "$tmp/stderrTraceVal") @@ -1331,7 +1313,7 @@ expectFailure 'gitTrackedWith {} ./.' 'lib.fileset.gitTrackedWith: Expected the expectFailure 'gitTrackedWith { recurseSubmodules = null; } ./.' 'lib.fileset.gitTrackedWith: Expected the attribute `recurseSubmodules` of the first argument to be a boolean, but it'\''s a null instead.' # recurseSubmodules = true is not supported on all Nix versions -if [[ "$(nix-instantiate --eval --expr "$(prefixExpression) (versionAtLeast builtins.nixVersion _fetchGitSubmodulesMinver)")" == true ]]; then +if [[ "$(nix-instantiate --eval --expr "$prefixExpression (versionAtLeast builtins.nixVersion _fetchGitSubmodulesMinver)")" == true ]]; then fetchGitSupportsSubmodules=1 else fetchGitSupportsSubmodules=