From aff5214a94133a7a6d3680ac9dc56ff6580a8672 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 14 Feb 2026 11:45:11 +0300 Subject: [PATCH 1/7] blink-cmp: 1.8.0 -> 1.9.1 Signed-off-by: NotAShelf Change-Id: Ie60428e7c72378c68a42f907ce5015ff6a6a6964 --- flake/pkgs/by-name/blink-cmp/package.nix | 15 ++++++++-- .../blink-cmp/patches/0001-pin-frizbee.patch | 29 +++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 flake/pkgs/by-name/blink-cmp/patches/0001-pin-frizbee.patch diff --git a/flake/pkgs/by-name/blink-cmp/package.nix b/flake/pkgs/by-name/blink-cmp/package.nix index 7c6371d1..df55de22 100644 --- a/flake/pkgs/by-name/blink-cmp/package.nix +++ b/flake/pkgs/by-name/blink-cmp/package.nix @@ -3,17 +3,18 @@ stdenv, rustPlatform, fetchFromGitHub, + rust-jemalloc-sys, writeShellScriptBin, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "blink-cmp"; - version = "1.8.0"; + version = "1.9.1"; src = fetchFromGitHub { owner = "Saghen"; repo = "blink.cmp"; tag = "v${finalAttrs.version}"; - hash = "sha256-JjlcPj7v9J+v1SDBYIub6jFEslLhZGHmsipV1atUAFo="; + hash = "sha256-GgodXdWpQoF2z1g1/WvnSpfuhskw0aMcOoyZM5l66q8="; }; forceShare = [ @@ -31,6 +32,16 @@ rustPlatform.buildRustPackage (finalAttrs: { mv "$out/lib" "$out/target/release" ''; + # From the blink.cmp flake + buildInputs = lib.optionals stdenv.hostPlatform.isAarch64 [rust-jemalloc-sys]; + + # NOTE: The only change in frizbee 0.7.0 was nixpkgs incompatible rust semantic changes + # Patch just reverts https://github.com/saghen/blink.cmp/commit/cc824ec85b789a54d05241389993c6ab8c040810 + # Taken from Nixpkgs' blink.cmp derivation, available under the MIT license + cargoPatches = [ + ./patches/0001-pin-frizbee.patch + ]; + cargoHash = "sha256-Qdt8O7IGj2HySb1jxsv3m33ZxJg96Ckw26oTEEyQjfs="; nativeBuildInputs = [ diff --git a/flake/pkgs/by-name/blink-cmp/patches/0001-pin-frizbee.patch b/flake/pkgs/by-name/blink-cmp/patches/0001-pin-frizbee.patch new file mode 100644 index 00000000..cc7defc9 --- /dev/null +++ b/flake/pkgs/by-name/blink-cmp/patches/0001-pin-frizbee.patch @@ -0,0 +1,29 @@ +diff --git a/Cargo.lock b/Cargo.lock +index 35bb10e..71c79eb 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -144,9 +144,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + + [[package]] + name = "frizbee" +-version = "0.7.0" ++version = "0.6.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4d024031f1a5bc5f19917baa0b618f1067610e35ba23e9f105653fcb27e74f5c" ++checksum = "c3365720de81dac18e889afa72f5907aa061c975548da68e2400c056ebc94aec" + dependencies = [ + "multiversion", + "rayon", +diff --git a/Cargo.toml b/Cargo.toml +index 392d1bb..c776c7d 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -9,7 +9,7 @@ crate-type = ["cdylib"] + + [dependencies] + regex = "1.11.2" +-frizbee = "0.7.0" ++frizbee = "0.6.0" + mlua = { version = "0.11.3", features = ["module", "luajit"] } + thiserror = "2.0.16" + blake3 = "1.8.2" From 325eae4a7570340185be8ff481ba52ef46546812 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 14 Feb 2026 22:39:05 +0300 Subject: [PATCH 2/7] visuals/nvim-web-devicons: bump version; lazyload on `DeferredUIEnter` Signed-off-by: NotAShelf Change-Id: I61177a580ef1be42f9129a19efd8fad26a6a6964 --- .../visuals/nvim-web-devicons/config.nix | 11 ++++---- .../nvim-web-devicons/nvim-web-devicons.nix | 28 +++++++++---------- npins/sources.json | 6 ++-- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/modules/plugins/visuals/nvim-web-devicons/config.nix b/modules/plugins/visuals/nvim-web-devicons/config.nix index 9c8e9418..f5293a06 100644 --- a/modules/plugins/visuals/nvim-web-devicons/config.nix +++ b/modules/plugins/visuals/nvim-web-devicons/config.nix @@ -4,8 +4,6 @@ ... }: let inherit (lib.modules) mkIf; - inherit (lib.nvim.lua) toLuaObject; - inherit (lib.nvim.dag) entryAnywhere; cfg = config.vim.visuals.nvim-web-devicons; in { @@ -13,9 +11,12 @@ in { vim = { startPlugins = ["nvim-web-devicons"]; - pluginRC.nvim-web-devicons = entryAnywhere '' - require("nvim-web-devicons").setup(${toLuaObject cfg.setupOpts}) - ''; + vim.lazy.plugins.icon-picker-nvim = { + package = "nvim-web-devicons"; + setupModule = "nvim-web-deviconsr"; + event = ["DeferredUIEnter"]; + inherit (cfg) setupOpts; + }; }; }; } diff --git a/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix b/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix index 6ff22614..b54ddcd5 100644 --- a/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix +++ b/modules/plugins/visuals/nvim-web-devicons/nvim-web-devicons.nix @@ -1,6 +1,6 @@ {lib, ...}: let inherit (lib.modules) mkRenamedOptionModule; - inherit (lib.options) mkOption mkEnableOption literalExpression; + inherit (lib.options) mkOption mkEnableOption; inherit (lib.types) nullOr attrsOf attrs enum; inherit (lib.nvim.types) mkPluginSetupOption; in { @@ -16,27 +16,27 @@ in { variant = mkOption { type = nullOr (enum ["light" "dark"]); default = null; - description = "Set the light or dark variant manually, instead of relying on `background`"; + description = '' + Set the light or dark variant manually, instead of relying on `background` + ''; }; override = mkOption { type = attrsOf attrs; default = {}; - example = literalExpression '' - { - zsh = { - name = "Zsh"; - icon = ""; - color = "#428850"; - cterm_color = "65"; - }; - } - ''; + example = { + zsh = { + name = "Zsh"; + icon = ""; + color = "#428850"; + cterm_color = "65"; + }; + }; description = '' Your personal icon overrides. - You can specify color or cterm_color instead of specifying - both of them. DevIcon will be appended to `name` + You can specify color or `cterm_color` instead of specifying both of + them. `DevIcon` will be appended to `name` ''; }; }; diff --git a/npins/sources.json b/npins/sources.json index d1e16e61..f07d0d70 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -2129,9 +2129,9 @@ }, "branch": "master", "submodules": false, - "revision": "b8221e42cf7287c4dcde81f232f58d7b947c210d", - "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/b8221e42cf7287c4dcde81f232f58d7b947c210d.tar.gz", - "hash": "sha256-lVrakFrpIP9lp7sMfMb33KeMPIkcn1qBFVytJzKCfuE=" + "revision": "746ffbb17975ebd6c40142362eee1b0249969c5c", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/746ffbb17975ebd6c40142362eee1b0249969c5c.tar.gz", + "hash": "sha256-jXWBPcfLwSkWQ/eRbxVDWC7kFOODSsCRmzC3rHKQLhQ=" }, "obsidian-nvim": { "type": "GitRelease", From 26edb440af696b962bf949106c737c89e9c8d4f4 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 14 Feb 2026 22:40:38 +0300 Subject: [PATCH 3/7] visuals/nvim-web-devicons: fix typo in setup module Signed-off-by: NotAShelf Change-Id: Id44003d474e53846aa9b666d4f89ed456a6a6964 --- modules/plugins/visuals/nvim-web-devicons/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/visuals/nvim-web-devicons/config.nix b/modules/plugins/visuals/nvim-web-devicons/config.nix index f5293a06..8892f24d 100644 --- a/modules/plugins/visuals/nvim-web-devicons/config.nix +++ b/modules/plugins/visuals/nvim-web-devicons/config.nix @@ -13,7 +13,7 @@ in { vim.lazy.plugins.icon-picker-nvim = { package = "nvim-web-devicons"; - setupModule = "nvim-web-deviconsr"; + setupModule = "nvim-web-devicons"; event = ["DeferredUIEnter"]; inherit (cfg) setupOpts; }; From a81aa0f69194aca8fa420c2f0846b343b689d0fe Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 14 Feb 2026 22:41:10 +0300 Subject: [PATCH 4/7] ui/noice: lazyload on `DeferredUIEnter` Signed-off-by: NotAShelf Change-Id: Icbff8af3a0fc527f399530718e2ef7cc6a6a6964 --- modules/plugins/ui/noice/config.nix | 17 +++++++---------- .../visuals/nvim-web-devicons/config.nix | 4 +--- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/modules/plugins/ui/noice/config.nix b/modules/plugins/ui/noice/config.nix index 1f81f4a9..e4721b66 100644 --- a/modules/plugins/ui/noice/config.nix +++ b/modules/plugins/ui/noice/config.nix @@ -6,8 +6,6 @@ }: let inherit (lib.modules) mkIf; inherit (lib.lists) optionals; - inherit (lib.nvim.lua) toLuaObject; - inherit (lib.nvim.dag) entryAnywhere; cfg = config.vim.ui.noice; tscfg = config.vim.treesitter; @@ -16,16 +14,15 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = [ - "noice-nvim" - "nui-nvim" - ]; - + startPlugins = ["nui-nvim"]; treesitter.grammars = optionals tscfg.addDefaultGrammars defaultGrammars; - pluginRC.noice-nvim = entryAnywhere '' - require("noice").setup(${toLuaObject cfg.setupOpts}) - ''; + lazy.plugins.noice-nvim = { + package = "noice-nvim"; + setupModule = "noice"; + event = ["DeferredUIEnter"]; + inherit (cfg) setupOpts; + }; }; }; } diff --git a/modules/plugins/visuals/nvim-web-devicons/config.nix b/modules/plugins/visuals/nvim-web-devicons/config.nix index 8892f24d..8d1ad1d3 100644 --- a/modules/plugins/visuals/nvim-web-devicons/config.nix +++ b/modules/plugins/visuals/nvim-web-devicons/config.nix @@ -9,9 +9,7 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["nvim-web-devicons"]; - - vim.lazy.plugins.icon-picker-nvim = { + lazy.plugins.icon-picker-nvim = { package = "nvim-web-devicons"; setupModule = "nvim-web-devicons"; event = ["DeferredUIEnter"]; From ba22aa662aaa8b2ce359e9de8ccfab1d160015c1 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 14 Feb 2026 22:53:19 +0300 Subject: [PATCH 5/7] docs: update release notes Signed-off-by: NotAShelf Change-Id: Ica9796a881a3866abc4e50fc3cfe7f106a6a6964 --- docs/manual/release-notes/rl-0.9.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 2ff72acd..b427840c 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -56,6 +56,10 @@ treesitter grammars were changed to prefer `grammarPlugins` over `builtGrammars`. +[NotAShelf](https://github.com/notashelf): + +- Lazyload noice.nvim and nvim-web-devicons on `DeferredUIEnter` + [jfeo](https://github.com/jfeo): [ccc.nvim]: https://github.com/uga-rosa/ccc.nvim From a315c01ff035276b5096f5fe7a960d0668cf5f46 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 14 Feb 2026 22:56:59 +0300 Subject: [PATCH 6/7] visuals/nvim-web-devicons: fix lazy-loaded module name Signed-off-by: NotAShelf Change-Id: I74a6143d8d667410e20759114f3bfbc86a6a6964 --- modules/plugins/visuals/nvim-web-devicons/config.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/visuals/nvim-web-devicons/config.nix b/modules/plugins/visuals/nvim-web-devicons/config.nix index 8d1ad1d3..98f54e34 100644 --- a/modules/plugins/visuals/nvim-web-devicons/config.nix +++ b/modules/plugins/visuals/nvim-web-devicons/config.nix @@ -9,7 +9,7 @@ in { config = mkIf cfg.enable { vim = { - lazy.plugins.icon-picker-nvim = { + lazy.plugins.nvim-web-devicons = { package = "nvim-web-devicons"; setupModule = "nvim-web-devicons"; event = ["DeferredUIEnter"]; From 14cf7fc9b835b082df4a27a3b58d1d432b39cd33 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 14 Feb 2026 23:21:17 +0300 Subject: [PATCH 7/7] flake: bump inputs Signed-off-by: NotAShelf Change-Id: Iec6c56db62cc6852e6b9c1de023aa45b6a6a6964 --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index a7cdc255..4ebfffc3 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ ] }, "locked": { - "lastModified": 1768135262, - "narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -38,11 +38,11 @@ }, "mnw": { "locked": { - "lastModified": 1769981889, - "narHash": "sha256-ndI7AxL/6auelkLHngdUGVImBiHkG8w2N2fOTKZKn4k=", + "lastModified": 1770419553, + "narHash": "sha256-b1XqsH7AtVf2dXmq2iyRr2NC1yG7skY7Z6N2MpWHlK4=", "owner": "Gerg-L", "repo": "mnw", - "rev": "332fed8f43b77149c582f1782683d6aeee1f07cf", + "rev": "2aaffa8030d0b262176146adbb6b0e6374ce2957", "type": "github" }, "original": { @@ -74,11 +74,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1769461804, - "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", + "lastModified": 1771008912, + "narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", + "rev": "a82ccc39b39b621151d6732718e3e250109076fa", "type": "github" }, "original": {