Neovim: Difference between revisions

Duob (talk | contribs)
Marked this version for translation
Jopejoe1 (talk | contribs)
m Improvements for translations
Line 11: Line 11:
<!--T:4-->
<!--T:4-->
==== Using nix-shell ====
==== Using nix-shell ====
</translate>
<syntaxhighlight lang="bash" start="3">
<syntaxhighlight lang="bash" start="3">
nix-shell -p neovim
nix-shell -p neovim
</syntaxhighlight>
</syntaxhighlight>
<translate>


<!--T:5-->
<!--T:5-->
==== Using Global Configuration ====
==== Using Global Configuration ====
</translate>
<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
environment.systemPackages = [
environment.systemPackages = [
  pkgs.neovim
  pkgs.neovim
];
];
</syntaxhighlight>After modifying your configuration, apply the changes by running:<syntaxhighlight lang="bash">
</syntaxhighlight>
<translate>
 
After modifying your configuration, apply the changes by running:
 
</translate>
<syntaxhighlight lang="bash">
sudo nixos-rebuild switch
sudo nixos-rebuild switch
</syntaxhighlight>
</syntaxhighlight>
<translate>


<!--T:6-->
<!--T:6-->
==== Using Home Configuration ====
==== Using Home Configuration ====
</translate>
<syntaxhighlight lang="text">
<syntaxhighlight lang="text">
home.packages = [  
home.packages = [  
   pkgs.neovim  
   pkgs.neovim  
];
];
</syntaxhighlight>After updating your configuration, apply the changes by running:<syntaxhighlight lang="bash">
</syntaxhighlight>
<translate>
 
After updating your configuration, apply the changes by running:
 
</translate>
<syntaxhighlight lang="bash">
home-manager switch
home-manager switch
</syntaxhighlight>
</syntaxhighlight>
<translate>


== Configuration == <!--T:7-->
== Configuration == <!--T:7-->
Line 39: Line 60:
<!--T:8-->
<!--T:8-->
==== Basic ====
==== Basic ====
</translate>
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
# Global Configuration
# Global Configuration
Line 46: Line 69:
};
};


<!--T:9-->
# Home Configuration
# Home Configuration
programs.neovim = {
programs.neovim = {
Line 55: Line 77:
};
};
</syntaxhighlight>
</syntaxhighlight>
<translate>


<!--T:10-->
<!--T:10-->
==== Advanced ====
==== Advanced ====
</translate>
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
# Global Configuration
# Global Configuration
Line 81: Line 106:
};
};


<!--T:11-->
# Home Configuration
# Home Configuration
# You have to add the line below to set it as the default editor:
# You have to add the line below to set it as the default editor:
environment.variables.EDITOR = "nvim";
environment.variables.EDITOR = "nvim";
</syntaxhighlight>
</syntaxhighlight>
<translate>


== Tips and Tricks == <!--T:12-->
== Tips and Tricks == <!--T:12-->
Line 91: Line 116:
<!--T:13-->
<!--T:13-->
==== Location of Options ====
==== Location of Options ====
The home manager options are defined in the following [https://nix-community.github.io/home-manager/options.xhtml#opt-programs.neovim.enable Home Manager Options Manual].
The home manager options are defined in the following [https://nix-community.github.io/home-manager/options.xhtml#opt-programs.neovim.enable Home Manager Options Manual].


Line 98: Line 124:
<!--T:15-->
<!--T:15-->
==== Neovim Nightly ====
==== Neovim Nightly ====
Have a look at the [https://github.com/nix-community/neovim-nightly-overlay Neovim Nightly Overlay] 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] to install the most recent current nightly version of Neovim.


Line 108: Line 135:
<!--T:18-->
<!--T:18-->
==== Pre-Configured Configurations ====
==== Pre-Configured Configurations ====
If you prefer not to configure your system manually, NixOS offers several predefined configurations and community-supported options. Here are a few of them:  
If you prefer not to configure your system manually, NixOS offers several predefined configurations and community-supported options. Here are a few of them:  


<!--T:19-->
<!--T:19-->
* [https://www.lazyvim.org/ LazyVim]
* [https://www.lazyvim.org/ LazyVim]
* [https://astronvim.com/ AstroVim]
* [https://astronvim.com/ AstroVim]
* [https://nvchad.com/ NVChad]
* [https://nvchad.com/ NVChad]
Another excellent option is [https://www.lunarvim.org/docs/installation LunarVim]. The development community describes it as "an IDE layer for Neovim with sane defaults." LunarVim includes an installer/updater for LSP modules and other features. It can be installed via the <code>lunarvim</code> package from <code>nixpkgs</code> and is started with the <code>lvim</code> command.
Another excellent option is [https://www.lunarvim.org/docs/installation LunarVim]. The development community describes it as "an IDE layer for Neovim with sane defaults." LunarVim includes an installer/updater for LSP modules and other features. It can be installed via the <code>lunarvim</code> package from <code>nixpkgs</code> and is started with the <code>lvim</code> command.


Line 121: Line 152:
<!--T:21-->
<!--T:21-->
==== Plugin Management ====
==== Plugin Management ====
</translate>
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
plugins = [
plugins = [
Line 126: Line 159:
   pkgs.vimPlugins.nvim-tree-lua
   pkgs.vimPlugins.nvim-tree-lua


   <!--T:22-->
   # Example Plugin: vim-startify with configuration
# Example Plugin: vim-startify with configuration
   {
   {
     plugin = pkgs.vimPlugins.vim-startify;
     plugin = pkgs.vimPlugins.vim-startify;
Line 133: Line 165:
   }
   }


   <!--T:23-->
   # Example Plugin: nvim-colorizer-lua with Lua config
# Example Plugin: nvim-colorizer-lua with Lua config
   # Due to how the runtimepath for Lua modules is processed, your configuration may require  
   # Due to how the runtimepath for Lua modules is processed, your configuration may require  
   # packadd! plugin-name to require a module. A home-manager example:
   # packadd! plugin-name to require a module. A home-manager example:
Line 150: Line 181:
   }
   }


   <!--T:24-->
   # Example Plugin: nvim-treesitter with Lua config
# Example Plugin: nvim-treesitter with Lua config
   {
   {
     plugin = pkgs.vimPlugins.nvim-treesitter;
     plugin = pkgs.vimPlugins.nvim-treesitter;
Line 188: Line 218:
   }
   }


   <!--T:25-->
   # Installing grammars for tree-sitter
# Installing grammars for tree-sitter
   # Option 1: Install all grammar packages
   # Option 1: Install all grammar packages
   pkgs.vimPlugins.nvim-treesitter.withAllGrammars
   pkgs.vimPlugins.nvim-treesitter.withAllGrammars
Line 196: Line 225:
   # (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ]))
   # (pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ]))


   <!--T:26-->
   # Option 3: Installing grammars without Nix
# Option 3: Installing grammars without Nix
   # Installing grammar packages through the built-in command can lead to errors.  
   # Installing grammar packages through the built-in command can lead to errors.  
   # The following Neovim command will install syntax highlighting for the C programming language: :TSInstall c
   # The following Neovim command will install syntax highlighting for the C programming language: :TSInstall c
];
];
</syntaxhighlight>
</syntaxhighlight>
<translate>


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


<!--T:28-->
</translate>
 
# https://neovim.io/
# https://neovim.io/
# https://github.com/neovim/neovim
# https://github.com/neovim/neovim
Line 216: Line 246:
# https://nvchad.com/
# https://nvchad.com/


</translate>
[[Category:Applications]]
[[Category:Applications]]
[[Category:Text Editor]]
[[Category:Text Editor]]