Implemented NVF
This commit is contained in:
141
modules/features/nvf.nix
Normal file
141
modules/features/nvf.nix
Normal file
@@ -0,0 +1,141 @@
|
||||
|
||||
{ pkgs, inputs, ... }: {
|
||||
flake.nixosModules.nvf = {pkgs, ...}: {
|
||||
environment.systemPackages = [
|
||||
];
|
||||
imports = [
|
||||
inputs.nvf.nixosModules.default
|
||||
];
|
||||
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
settings.vim = {
|
||||
theme.enable = true;
|
||||
theme.name = "tokyonight";
|
||||
theme.style = "night";
|
||||
#netrw.enable = true;
|
||||
|
||||
statusline.lualine.enable = true;
|
||||
telescope.enable = true;
|
||||
autocomplete.nvim-cmp.enable = true;
|
||||
lsp.enable = true;
|
||||
git.vim-fugitive.enable = true;
|
||||
autopairs.nvim-autopairs.enable = true;
|
||||
spellcheck.enable = true;
|
||||
navigation.harpoon.enable = true;
|
||||
visuals.nvim-web-devicons.enable = true;
|
||||
notes.todo-comments.enable = true;
|
||||
|
||||
utility = {
|
||||
undotree.enable = true;
|
||||
oil-nvim.enable = true;
|
||||
snacks-nvim.enable = true;
|
||||
};
|
||||
|
||||
languages = {
|
||||
enableTreesitter = true;
|
||||
|
||||
nix.enable = true;
|
||||
go.enable = true;
|
||||
lua.enable = true;
|
||||
};
|
||||
opts = {
|
||||
tabstop = 4;
|
||||
softtabstop = 4;
|
||||
shiftwidth = 4;
|
||||
expandtab = true;
|
||||
smartindent = true;
|
||||
smartcase = true;
|
||||
ignorecase = true;
|
||||
wrap = false;
|
||||
updatetime = 50;
|
||||
termguicolors = true;
|
||||
mouse = "a";
|
||||
cursorline = true;
|
||||
pumheight = 16;
|
||||
winborder = "single";
|
||||
swapfile = false;
|
||||
backup = false;
|
||||
hlsearch = false;
|
||||
incsearch = true;
|
||||
scrolloff = 8;
|
||||
scroll = 6;
|
||||
signcolumn = "yes";
|
||||
colorcolumn = "80";
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
key = "<leader>pv";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
lua = true;
|
||||
action = "vim.cmd.Ex";
|
||||
}
|
||||
{
|
||||
key = "<leader>u";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
lua = true;
|
||||
action = "vim.cmd.UndotreeToggle";
|
||||
}
|
||||
{
|
||||
key = "<leader>y";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "\"+y";
|
||||
}
|
||||
{
|
||||
key = "<leader>y";
|
||||
mode = "v";
|
||||
silent = true;
|
||||
action = "\"+y";
|
||||
}
|
||||
{
|
||||
key = "<leader>Y";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "\"+Y";
|
||||
}
|
||||
{
|
||||
key = "<C-d>";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "<C-d>zz";
|
||||
}
|
||||
{
|
||||
key = "<C-u>";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "<C-u>zz";
|
||||
}
|
||||
{
|
||||
key = "n";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "nzzzv";
|
||||
}
|
||||
{
|
||||
key = "N";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "Nzzzv";
|
||||
}
|
||||
{
|
||||
key = "J";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "mzJ`z";
|
||||
}
|
||||
{
|
||||
key = "<leader>gs";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
lua = true;
|
||||
action = "vim.cmd.Git";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user