neovim: add plugins & config
This commit is contained in:
parent
5d479b444e
commit
95cd793a00
14 changed files with 142 additions and 0 deletions
|
@ -21,6 +21,23 @@
|
|||
command = "Neotree";
|
||||
}
|
||||
];
|
||||
keymaps = [
|
||||
{
|
||||
action = "<cmd>LazyGit<CR>";
|
||||
key = "<C-l>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<cmd>ToggleTerm<CR>";
|
||||
key = "<C-t>";
|
||||
mode = "n";
|
||||
}
|
||||
{
|
||||
action = "<cmd>Telescope<CR>";
|
||||
key = "<C-f>";
|
||||
mode = "n";
|
||||
}
|
||||
];
|
||||
extraConfigLua = ''
|
||||
vim.wo.relativenumber = true
|
||||
'';
|
||||
|
|
|
@ -6,15 +6,23 @@ _: {
|
|||
./editor/bufferline.nix
|
||||
./editor/autosave.nix
|
||||
./editor/treesitter.nix
|
||||
./editor/guessindent.nix
|
||||
./editor/luasnip.nix
|
||||
./editor/cmp.nix
|
||||
./lsp/lsp.nix
|
||||
./lsp/conform.nix
|
||||
./misc/wakatime.nix
|
||||
./misc/direnv.nix
|
||||
./misc/presence.nix
|
||||
./misc/lazygit.nix
|
||||
./misc/vimbbye.nix
|
||||
./ui/lualine.nix
|
||||
./ui/mini.nix
|
||||
./ui/transparent.nix
|
||||
./ui/telescope.nix
|
||||
./ui/fidget.nix
|
||||
./ui/dashboard.nix
|
||||
./ui/toggleterm.nix
|
||||
];
|
||||
programs.nixvim.plugins.web-devicons.enable = true;
|
||||
}
|
||||
|
|
27
home/programs/editors/neovim/plugins/editor/cmp.nix
Normal file
27
home/programs/editors/neovim/plugins/editor/cmp.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
_: {
|
||||
programs.nixvim.plugins = {
|
||||
cmp = {
|
||||
enable = true;
|
||||
autoEnableSources = true;
|
||||
settings = {
|
||||
sources = [
|
||||
{name = "nvim_lsp";}
|
||||
{name = "path";}
|
||||
{name = "buffer";}
|
||||
{name = "luasnip";}
|
||||
];
|
||||
mapping = {
|
||||
__raw = ''
|
||||
cmp.mapping.preset.insert({
|
||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
})
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
_: {
|
||||
programs.nixvim.plugins.guess-indent.enable = true;
|
||||
}
|
9
home/programs/editors/neovim/plugins/editor/luasnip.nix
Normal file
9
home/programs/editors/neovim/plugins/editor/luasnip.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
_: {
|
||||
programs.nixvim.plugins.luasnip = {
|
||||
enable = true;
|
||||
settings = {
|
||||
enable_autosnippets = true;
|
||||
store_selection_keys = "<Tab>";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -2,5 +2,13 @@ _: {
|
|||
programs.nixvim.plugins.neo-tree = {
|
||||
enable = true;
|
||||
enableDiagnostics = true;
|
||||
extraOptions = {
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
visible = true;
|
||||
hide_fotfiles = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,6 +11,13 @@
|
|||
toml
|
||||
xml
|
||||
yaml
|
||||
rust
|
||||
go
|
||||
gomod
|
||||
];
|
||||
settings = {
|
||||
highlight.enable = true;
|
||||
indent.enable = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -12,6 +12,21 @@
|
|||
"alejandra"
|
||||
]
|
||||
];
|
||||
rust = [
|
||||
[
|
||||
"rustfmt"
|
||||
]
|
||||
];
|
||||
go = [
|
||||
[
|
||||
"gofmt"
|
||||
]
|
||||
];
|
||||
lua = [
|
||||
[
|
||||
"stylua"
|
||||
]
|
||||
];
|
||||
};
|
||||
format_on_save = ''
|
||||
function(bufnr)
|
||||
|
@ -49,6 +64,15 @@
|
|||
alejandra = {
|
||||
commmand = "${lib.getExe pkgs.alejandra}";
|
||||
};
|
||||
rustfmt = {
|
||||
commmand = "${lib.getExe pkgs.rustfmt}";
|
||||
};
|
||||
gofmt = {
|
||||
commmand = "${lib.getExe pkgs.go}";
|
||||
};
|
||||
stylua = {
|
||||
commmand = "${lib.getExe pkgs.stylua}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -27,6 +27,13 @@ _: {
|
|||
installCargo = true;
|
||||
installRustc = true;
|
||||
};
|
||||
gopls = {
|
||||
enable = true;
|
||||
autostart = true;
|
||||
};
|
||||
nushell = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
3
home/programs/editors/neovim/plugins/misc/lazygit.nix
Normal file
3
home/programs/editors/neovim/plugins/misc/lazygit.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
_: {
|
||||
programs.nixvim.plugins.lazygit.enable = true;
|
||||
}
|
3
home/programs/editors/neovim/plugins/misc/vimbbye.nix
Normal file
3
home/programs/editors/neovim/plugins/misc/vimbbye.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
_: {
|
||||
programs.nixvim.plugins.vim-bbye.enable = true;
|
||||
}
|
5
home/programs/editors/neovim/plugins/ui/dashboard.nix
Normal file
5
home/programs/editors/neovim/plugins/ui/dashboard.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
_: {
|
||||
programs.nixvim.plugins.dashboard = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
8
home/programs/editors/neovim/plugins/ui/fidget.nix
Normal file
8
home/programs/editors/neovim/plugins/ui/fidget.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
_: {
|
||||
programs.nixvim.plugins.fidget = {
|
||||
enable = true;
|
||||
notification.window = {
|
||||
winblend = 0;
|
||||
};
|
||||
};
|
||||
}
|
13
home/programs/editors/neovim/plugins/ui/toggleterm.nix
Normal file
13
home/programs/editors/neovim/plugins/ui/toggleterm.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
_: {
|
||||
programs.nixvim.plugins.toggleterm = {
|
||||
enable = true;
|
||||
settings = {
|
||||
direction = "float";
|
||||
float_opts = {
|
||||
border = "curved";
|
||||
height = 30;
|
||||
width = 130;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue