Neovim: Difference between revisions

Pigeon (talk | contribs)
Remove LunarVim (unmaintained)
Ardenet (talk | contribs)
Marked this version for translation
Tags: Mobile edit Mobile web edit
 
(3 intermediate revisions by 2 users not shown)
Line 17: Line 17:
   |documentation=[https://neovim.io/doc/ Official Documentation]
   |documentation=[https://neovim.io/doc/ Official Documentation]
}}
}}
<translate>
<translate>
<!--T:1-->
<!--T:1-->
Line 27: Line 28:
== Installation == <!--T:3-->
== Installation == <!--T:3-->


==== Shell ====
==== Shell ==== <!--T:4-->


<!--T:60-->
To temporarily use Neovim in a shell environment without modifying your system configuration, you can run:
To temporarily use Neovim in a shell environment without modifying your system configuration, you can run:
</translate>
{{code|lang=bash|line=no|1=$ nix-shell -p neovim}}
{{code|lang=bash|line=no|1=$ nix-shell -p neovim}}
<translate>
<!--T:61-->
This makes the Neovim editor available in your current shell. You can then launch Neovim by typing <code>neovim</code>.
This makes the Neovim editor available in your current shell. You can then launch Neovim by typing <code>neovim</code>.


==== System setup ====
==== System setup ==== <!--T:62-->


<!--T:63-->
To install Neovim system-wide, making it available to all users, add the following to your configuration:
To install Neovim system-wide, making it available to all users, add the following to your configuration:
{{code|lang=nix|line=no|1=# Example for /etc/nixos/configuration.nix
</translate>
 
{{code|lang=nix|line=no|1=<translate><!--T:64--> # Example for /etc/nixos/configuration.nix</translate>
environment.systemPackages = [
environment.systemPackages = [
   pkgs.neovim
   pkgs.neovim
];
];


# User-specific installation (in ~/.config/nixpkgs/home.nix)
<translate><!--T:65--> # User-specific installation (in ~/.config/nixpkgs/home.nix)</translate>
home.packages = [
home.packages = [
   pkgs.neovim
   pkgs.neovim
];}}
];}}
<translate>
<!--T:66-->
After rebuilding your system with <code>nixos-rebuild switch</code> or <code>home-manager switch</code>, Neovim will be installed and accessible.
After rebuilding your system with <code>nixos-rebuild switch</code> or <code>home-manager switch</code>, Neovim will be installed and accessible.


== Configuration == <!--T:7-->
== Configuration == <!--T:7-->


==== Basic ==== <!--T:8-->
==== Basic ==== <!--T:8-->
</translate>


</translate>
{{code|lang=nix|line=no|1=<translate>
{{code|lang=nix|line=no|1=<translate>
<!--T:39-->
<!--T:39-->
Line 72: Line 84:
   '';
   '';
};}}
};}}
<translate>
<translate>
==== Advanced ==== <!--T:10-->
==== Advanced ==== <!--T:10-->
</translate>


</translate>
{{code|lang=nix|line=no|1=<translate>
{{code|lang=nix|line=no|1=<translate>
<!--T:41-->
<!--T:41-->
Line 108: Line 120:
</translate>
</translate>
environment.variables.EDITOR = "nvim";}}
environment.variables.EDITOR = "nvim";}}
<translate>
<translate>
 
<!--T:12-->
== Tips and Tricks == <!--T:12-->
== Tips and Tricks ==
{{expand}}
{{expand}}


==== Package Variations ==== <!--T:15-->
==== Package Variations ==== <!--T:15-->


<!--T:44-->
Have a look at the [https://github.com/nix-community/neovim-nightly-overlay Neovim Nightly Overlay]<ref>Nix Community, "neovim-nightly-overlay", GitHub, Last updated June 2025, Accessed June 2025. https://github.com/nix-community/neovim-nightly-overlay</ref> to install the most recent current nightly version of Neovim.
Have a look at the [https://github.com/nix-community/neovim-nightly-overlay Neovim Nightly Overlay]<ref>Nix Community, "neovim-nightly-overlay", GitHub, Last updated June 2025, Accessed June 2025. https://github.com/nix-community/neovim-nightly-overlay</ref> to install the most recent current nightly version of Neovim.
<!--T:16-->
You can run the master version via the following command:
You can run the master version via the following command:
</translate>
{{code|lang=bash|line=no|1=$ nix run "github:nix-community/neovim-nightly-overlay"}}
{{code|lang=bash|line=no|1=$ nix run "github:nix-community/neovim-nightly-overlay"}}


<translate>
==== Plugin Management ==== <!--T:21-->
==== Plugin Management ==== <!--T:21-->
</translate>


</translate>
{{code|lang=nix|line=no|1=plugins = [
{{code|lang=nix|line=no|1=plugins = [
<translate>
<translate>
Line 212: Line 231:
</translate>
</translate>
];}}
];}}
<translate>
<translate>
==== Frameworks ==== <!--T:18-->
==== Frameworks ==== <!--T:18-->


Line 223: Line 242:


<!--T:46-->
<!--T:46-->
* [https://astronvim.com/ AstroVim]<ref>AstroNvim Team, "AstroNvim", AstroNvim Official Website, N/A, Accessed June 2025. https://astronvim.com/</ref>
* [https://astronvim.com/ AstroNvim]<ref>AstroNvim Team, "AstroNvim", AstroNvim Official Website, N/A, Accessed June 2025. https://astronvim.com/</ref>


<!--T:47-->
<!--T:47-->
* [https://nvchad.com/ NVChad]<ref>Siduck, "NvChad", NvChad Official Website, © 2025, Accessed June 2025. https://nvchad.com/</ref>
* [https://nvchad.com/ NVChad]<ref>Siduck, "NvChad", NvChad Official Website, © 2025, Accessed June 2025. https://nvchad.com/</ref>


<!--T:48--> ==== FHS wrapper ====
==== FHS wrapper ==== <!--T:67-->


<!--T:68-->
You can create a custom neovim FHS wrapper
You can create a custom neovim FHS wrapper
</translate>
{{code|lang=nix|line=no|1=
{{code|lang=nix|line=no|1=
{
{
Line 248: Line 270:


<!--T:FHS_WRAPPER_SOURCE-->
<!--T:FHS_WRAPPER_SOURCE-->
<translate>
<!--T:69-->
This FHS wrapper example is based on a contribution to nixpkgs<ref name="nixpkgs-pr-334032">NixOS, "Feature: Custom Neovim FHS Wrapper" (Pull Request #334032), GitHub, 2025, Accessed June 2025. https://github.com/NixOS/nixpkgs/pull/334032</ref>.
This FHS wrapper example is based on a contribution to nixpkgs<ref name="nixpkgs-pr-334032">NixOS, "Feature: Custom Neovim FHS Wrapper" (Pull Request #334032), GitHub, 2025, Accessed June 2025. https://github.com/NixOS/nixpkgs/pull/334032</ref>.
For an extended configuration that includes setting up `mason.nvim` with a similar FHS environment, see this [https://github.com/NixOS/nixpkgs/issues/281219#issuecomment-2284713258 NixOS/nixpkgs issue comment].
For an extended configuration that includes setting up `mason.nvim` with a similar FHS environment, see this [https://github.com/NixOS/nixpkgs/issues/281219#issuecomment-2284713258 NixOS/nixpkgs issue comment].


== Troubleshooting == <!--T:59-->
<!--T:59-->
== Troubleshooting ==
{{expand}}
{{expand}}


==== lua-language-server: Dynamically linked executable error ====
==== lua-language-server: Dynamically linked executable error ==== <!--T:70-->


<!--T:71-->
In your <code>~/.local/state/nvim/lsp.log</code>, you have the following error:
In your <code>~/.local/state/nvim/lsp.log</code>, you have the following error:
</translate>


{{code|lang=text|line=no|1=[ERROR][2025-06-07 23:13:15] ...p/_transport.lua:36 "rpc" "lua-language-server" "stderr" "Could not start dynamically linked executable: /home/incogshift/.local/share/nvim/mason/packages/lua-language-server/libexec/bin/lua-language-server\nNixOS cannot run dynamically linked executables intended for generic\nlinux environments out of the box. For more information, see:\nhttps://nix.dev/permalink/stub-ld\n"}}
{{code|lang=text|line=no|1=[ERROR][2025-06-07 23:13:15] ...p/_transport.lua:36 "rpc" "lua-language-server" "stderr" "Could not start dynamically linked executable: /home/incogshift/.local/share/nvim/mason/packages/lua-language-server/libexec/bin/lua-language-server\nNixOS cannot run dynamically linked executables intended for generic\nlinux environments out of the box. For more information, see:\nhttps://nix.dev/permalink/stub-ld\n"}}


<!--T:LUA_LS_SO_REF-->
<!--T:LUA_LS_SO_REF-->
<translate>
<!--T:72-->
A solution for this issue can be found on Stack Overflow<ref name="so-lua-ls-dynlink">Stack Overflow Contributor, "Answer to 'Could not start dynamically linked executable... on NixOS'", Stack Overflow, 2025, Accessed June 2025. https://stackoverflow.com/a/78215911/27134695</ref>.
A solution for this issue can be found on Stack Overflow<ref name="so-lua-ls-dynlink">Stack Overflow Contributor, "Answer to 'Could not start dynamically linked executable... on NixOS'", Stack Overflow, 2025, Accessed June 2025. https://stackoverflow.com/a/78215911/27134695</ref>.


== References == <!--T:27-->
== See also == <!--T:73-->
 
== See also ==


<!--T:74-->
* [[Home Manager]] – For declarative Neovim configuration at the user level: [https://nix-community.github.io/home-manager/options.html#opt-programs.neovim.enable Neovim module in Home Manager]
* [[Home Manager]] – For declarative Neovim configuration at the user level: [https://nix-community.github.io/home-manager/options.html#opt-programs.neovim.enable Neovim module in Home Manager]
* [https://neovim.io/doc/ Official Documentation] – Official Neovim documentation.
* [https://neovim.io/doc/ Official Documentation] – Official Neovim documentation.
Line 273: Line 301:
* [https://github.com/nix-community/neovim-overlay Neovim Overlay on Nixpkgs] – For nightly builds and additional Neovim packages.
* [https://github.com/nix-community/neovim-overlay Neovim Overlay on Nixpkgs] – For nightly builds and additional Neovim packages.


== References ==
== References == <!--T:27-->
 
</translate>


<!--T:75-->
[[Category:Applications]]
[[Category:Applications]]
[[Category:CLI Applications]]
[[Category:CLI Applications]]
[[Category:Text Editor]]
[[Category:Text Editor]]
</translate>