diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 15b4e2b4d049..e3b94d005526 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -632,6 +632,13 @@
wherever possible.
+
+
+ programs.neovim.runtime switched to a
+ linkFarm internally, making it impossible
+ to use wildcards in the source argument.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index c0b0cb5973b6..e34c3f4e0b9e 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -159,6 +159,8 @@ pt-services.clipcat.enable).
- Deprecated package aliases in `emacs.pkgs.*` have been removed. These aliases were remnants of the old Emacs package infrastructure. We now use exact upstream names wherever possible.
+- `programs.neovim.runtime` switched to a `linkFarm` internally, making it impossible to use wildcards in the `source` argument.
+
## Other Notable Changes {#sec-release-21.11-notable-changes}
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
diff --git a/nixos/modules/programs/neovim.nix b/nixos/modules/programs/neovim.nix
index 0a1a2ac2b752..781c31d2b0ce 100644
--- a/nixos/modules/programs/neovim.nix
+++ b/nixos/modules/programs/neovim.nix
@@ -7,18 +7,7 @@ let
runtime' = filter (f: f.enable) (attrValues cfg.runtime);
- # taken from the etc module
- runtime = pkgs.stdenvNoCC.mkDerivation {
- name = "runtime";
-
- builder = ../system/etc/make-etc.sh;
-
- preferLocalBuild = true;
- allowSubstitutes = false;
-
- sources = map (x: x.source) runtime';
- targets = map (x: x.target) runtime';
- };
+ runtime = pkgs.linkFarm "neovim-runtime" (map (x: { name = x.target; path = x.source; }) runtime');
in {
options.programs.neovim = {