I've been [a full-time Neovim user][0] since July 2021.
I've used Nix since September 2022, when I migrated my dotfiles from using Ansible to use Nix and Home Manager.
My Neovim configuration has gone through several iterations to what it is today.
I've used Nix for a while to install plugins for Neovim, but the configuration was all written in Lua files which were placed by Home Manager into the correct directory.
Now, I've switched to using a project called NixVim.
It enables configuring Neovim using the Nix language, which is converted to Lua code behind the scenes.
Doing this makes my configuration files [more consistent and easier to maintain][1], and reduced the amount of code I needed for my Neovim configuration.
Most of the configuration in Nix is equivalent to the options in Lua, but there are some great settings like `plugins.lsp.enable` and `plugins.cmp.enable` that make it easy to configure language servers and completion.
I've also found a [great episode about this][2] on the Full Time Nix podcast that I'd recommend to find out more.
If you're interested in Nix and/or Neovim, [give NixVim a look][3].
<p>I've used Nix since September 2022, when I migrated my dotfiles from using Ansible to use Nix and Home Manager.</p>
<p>My Neovim configuration has gone through several iterations to what it is today.</p>
<p>I've used Nix for a while to install plugins for Neovim, but the configuration was all written in Lua files which were placed by Home Manager into the correct directory.</p>
<p>Now, I've switched to using a project called NixVim.</p>
<p>It enables configuring Neovim using the Nix language, which is converted to Lua code behind the scenes.</p>
<p>Doing this makes my configuration files <a href="/daily/2024/11/21/one-configuration-language-to-rule-them-all">more consistent and easier to maintain</a>, and reduced the amount of code I needed for my Neovim configuration.</p>
<p>Most of the configuration in Nix is equivalent to the options in Lua, but there are some great settings like <code>plugins.lsp.enable</code> and <code>plugins.cmp.enable</code> that make it easy to configure language servers and completion.</p>
<p>I've also found a <a href="https://fulltimenix.com/episodes/contributing-to-nixpkgs-nixvim-with-gaetan-lepage">great episode about this</a> on the Full Time Nix podcast that I'd recommend to find out more.</p>
<p>If you're interested in Nix and/or Neovim, <a href="https://github.com/nix-community/nixvim">give NixVim a look</a>.</p>