mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-01 19:11:15 +00:00
77 lines
1.7 KiB
Text
77 lines
1.7 KiB
Text
[[ch-hm-module]]
|
|
== Home Manager
|
|
|
|
The Home Manager module allows us to customize the different `vim` options. To use it, we first add the input flake.
|
|
|
|
[source,nix]
|
|
----
|
|
{
|
|
neovim-flake = {
|
|
url = github:notashelf/neovim-flake;
|
|
# you can override input nixpkgs
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
}
|
|
----
|
|
|
|
Followed by importing the HM module.
|
|
|
|
[source,nix]
|
|
----
|
|
{
|
|
imports = [ neovim-flake.homeManagerModules.default ];
|
|
}
|
|
----
|
|
|
|
Then we should be able to use the given module. E.g.
|
|
|
|
[source,nix]
|
|
----
|
|
{
|
|
programs.neovim-flake = {
|
|
|
|
enable = true;
|
|
# your settings need to go into the settings attrset
|
|
settings = {
|
|
vim.viAlias = false;
|
|
vim.vimAlias = true;
|
|
vim.lsp = {
|
|
enable = true;
|
|
};
|
|
};
|
|
};
|
|
}
|
|
----
|
|
|
|
=== Custom vim plugins
|
|
|
|
It's possible to add custom vim plugins by using the startPlugins and lua DAG settings. First we install the plugin by adding it to startPlugins, I'll be using the nvim-surround plugin for example. This process should be very similar for nixos installations.
|
|
|
|
[source,nix]
|
|
----
|
|
{
|
|
programs.neovim-flake = {
|
|
enable = true;
|
|
settings = {
|
|
vim.startPlugins = [ pkgs.vimPlugins.nvim-surround ];
|
|
};
|
|
};
|
|
}
|
|
----
|
|
|
|
Then we continue by requireing the plugin in lua using DAG settings. Please note that you're able to name this setting to however you want, in my situation I'll name it nvim-surround since that's the plugin that I'll be installing.
|
|
|
|
[source,nix]
|
|
----
|
|
{
|
|
programs.neovim-flake = {
|
|
enable = true;
|
|
settings = {
|
|
vim.startPlugins = [ pkgs.vimPlugins.nvim-surround ];
|
|
luaConfigRC.nvim-surround = nvim-flake.lib.nvim.dag.entryAnywhere ''
|
|
require("nvim-surround").setup()
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
---- |