86 lines
2 KiB
Nix
86 lines
2 KiB
Nix
{ inputs, pkgs, ... }:
|
|
{
|
|
imports = [
|
|
inputs.nvf.homeManagerModules.default
|
|
./nvf/input.nix
|
|
./nvf/languages.nix
|
|
./nvf/ui.nix
|
|
./nvf/utilities.nix
|
|
];
|
|
home.sessionVariables.EDITOR = "nvim";
|
|
programs.nvf = {
|
|
enable = true;
|
|
enableManpages = true;
|
|
settings.vim = {
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
options = {
|
|
# Indentation
|
|
autoindent = true;
|
|
smartindent = true;
|
|
expandtab = true;
|
|
smarttab = true;
|
|
wrap = true;
|
|
shiftwidth = 2;
|
|
tabstop = 2;
|
|
foldlevel = 1000; # Open all folds by default
|
|
|
|
# Search
|
|
hlsearch = true;
|
|
ignorecase = true;
|
|
incsearch = true;
|
|
smartcase = true; # case-sensitive if search contains uppercase
|
|
|
|
# Visual
|
|
number = true;
|
|
cursorline = true;
|
|
visualbell = true;
|
|
termguicolors = true;
|
|
|
|
# Input
|
|
backspace = "indent,eol,start";
|
|
};
|
|
keymaps = [
|
|
{
|
|
desc = "Open the file path under the cursor, making the file if it doesn't exist.";
|
|
key = "gf";
|
|
mode = "n";
|
|
action = ":cd %:p:h<CR>:e <cfile><CR>";
|
|
silent = true;
|
|
}
|
|
{
|
|
desc = "Delete the previous word.";
|
|
key = "<C-BS>";
|
|
mode = "i";
|
|
action = "<C-W>";
|
|
silent = true;
|
|
}
|
|
{
|
|
desc = "Open the filetree.";
|
|
key = "t";
|
|
mode = "n";
|
|
action = ":Yazi<CR>";
|
|
silent = true;
|
|
}
|
|
];
|
|
luaConfigRC.turn_off_inline_diagnostics =
|
|
# lua
|
|
''
|
|
vim.diagnostic.config({
|
|
virtual_text = false -- turn off inline diagnostics
|
|
})
|
|
'';
|
|
extraPlugins = with pkgs.vimPlugins; {
|
|
yuck-vim = {
|
|
package = yuck-vim;
|
|
};
|
|
nvim-treesitter-parsers = {
|
|
package = nvim-treesitter-parsers.yuck;
|
|
};
|
|
nvim-parinfer = {
|
|
package = nvim-parinfer;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|