160 lines
5.2 KiB
Nix
160 lines
5.2 KiB
Nix
{ inputs, ... }: {
|
|
flake.nixosModules.nvf = {pkgs, ...}: {
|
|
environment.systemPackages = [
|
|
];
|
|
imports = [
|
|
inputs.nvf.nixosModules.default
|
|
];
|
|
|
|
programs.nvf = {
|
|
enable = true;
|
|
settings.vim = {
|
|
statusline.lualine.enable = true;
|
|
telescope.enable = true;
|
|
autocomplete.nvim-cmp = {
|
|
enable = true;
|
|
mappings.confirm = "<C-i>";
|
|
mappings.next = "<C-tab>";
|
|
};
|
|
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;
|
|
typst.enable = true;
|
|
};
|
|
|
|
lazy.plugins = {
|
|
"kanagawa.nvim" = {
|
|
package = pkgs.vimPlugins.kanagawa-nvim;
|
|
setupModule = "kanagawa";
|
|
setupOpts = {
|
|
transparent = true;
|
|
dimInactive = false;
|
|
};
|
|
|
|
after = "vim.cmd(\"colorscheme kanagawa\")";
|
|
};
|
|
"wiki.vim" = {
|
|
package = pkgs.vimPlugins.wiki-vim;
|
|
|
|
before = "vim.g['wiki_root'] = '~/Documents/Scripts/Wiki/personal'";
|
|
};
|
|
};
|
|
|
|
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";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|