chore(cmp): Move cmp.nvim from raw lua to nixvim
This commit is contained in:
348
common/nvim.nix
348
common/nvim.nix
@@ -9,7 +9,8 @@
|
|||||||
[]
|
[]
|
||||||
++ (pkgs.lib.optionals (builtins.hasAttr "normal" mappings) (mkMode mappings.normal "n"))
|
++ (pkgs.lib.optionals (builtins.hasAttr "normal" mappings) (mkMode mappings.normal "n"))
|
||||||
++ (pkgs.lib.optionals (builtins.hasAttr "terminal" mappings) (mkMode mappings.terminal "t"))
|
++ (pkgs.lib.optionals (builtins.hasAttr "terminal" mappings) (mkMode mappings.terminal "t"))
|
||||||
++ (pkgs.lib.optionals (builtins.hasAttr "insert" mappings) (mkMode mappings.insert "i"));
|
++ (pkgs.lib.optionals (builtins.hasAttr "insert" mappings) (mkMode mappings.insert "i"))
|
||||||
|
++ (pkgs.lib.optionals (builtins.hasAttr "visual" mappings) (mkMode mappings.insert "v"));
|
||||||
mkMode = mappings: mode:
|
mkMode = mappings: mode:
|
||||||
pkgs.lib.mapAttrsToList
|
pkgs.lib.mapAttrsToList
|
||||||
(key: value: {
|
(key: value: {
|
||||||
@@ -23,86 +24,6 @@ in {
|
|||||||
imports = [inputs.nixvim.homeManagerModules.nixvim];
|
imports = [inputs.nixvim.homeManagerModules.nixvim];
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPlugins = with pkgs.vimPlugins; [
|
|
||||||
# neorg
|
|
||||||
neorg
|
|
||||||
neorg-telescope
|
|
||||||
|
|
||||||
# Wut
|
|
||||||
ChatGPT-nvim
|
|
||||||
|
|
||||||
# UI and UX
|
|
||||||
nvim-ufo
|
|
||||||
vim-abolish
|
|
||||||
telescope-nvim
|
|
||||||
telescope-ui-select-nvim
|
|
||||||
telescope-fzf-native-nvim
|
|
||||||
telescope-file-browser-nvim
|
|
||||||
telescope-dap-nvim
|
|
||||||
octo-nvim
|
|
||||||
neoscroll-nvim
|
|
||||||
|
|
||||||
# Debuggging
|
|
||||||
nvim-dap-rr
|
|
||||||
|
|
||||||
# Treesitter stuff
|
|
||||||
outline-nvim
|
|
||||||
|
|
||||||
# lsp stuff
|
|
||||||
nvim-cmp
|
|
||||||
cmp-buffer
|
|
||||||
cmp-path
|
|
||||||
cmp-cmdline
|
|
||||||
cmp-nvim-lsp
|
|
||||||
cmp-nvim-lua
|
|
||||||
cmp-dap
|
|
||||||
cmp_luasnip
|
|
||||||
cmp-tmux
|
|
||||||
cmp-treesitter
|
|
||||||
cmp-git
|
|
||||||
luasnip
|
|
||||||
copilot-lua
|
|
||||||
crates-nvim
|
|
||||||
sqls-nvim
|
|
||||||
|
|
||||||
# No more postman
|
|
||||||
rest-nvim
|
|
||||||
|
|
||||||
# UI
|
|
||||||
nvim-web-devicons
|
|
||||||
|
|
||||||
# Utils
|
|
||||||
FTerm-nvim
|
|
||||||
plenary-nvim
|
|
||||||
nix-develop-nvim
|
|
||||||
|
|
||||||
pkgs.tree-sitter-grammars.tree-sitter-just
|
|
||||||
|
|
||||||
# Testing
|
|
||||||
neotest
|
|
||||||
# neotest-rust
|
|
||||||
];
|
|
||||||
options = {
|
|
||||||
shell = "sh";
|
|
||||||
number = true;
|
|
||||||
relativenumber = true;
|
|
||||||
tabstop = 4;
|
|
||||||
softtabstop = 4;
|
|
||||||
shiftwidth = 4;
|
|
||||||
expandtab = true;
|
|
||||||
hidden = true;
|
|
||||||
smartcase = true;
|
|
||||||
termguicolors = true;
|
|
||||||
signcolumn = "yes";
|
|
||||||
wrap = true;
|
|
||||||
completeopt = "menu,menuone,popup,noselect";
|
|
||||||
undodir = "${config.xdg.cacheHome}/undodir";
|
|
||||||
undofile = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
globals = {
|
|
||||||
mapleader = " ";
|
|
||||||
};
|
|
||||||
plugins = {
|
plugins = {
|
||||||
lsp = {
|
lsp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -134,10 +55,67 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cmp = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
sources = [
|
||||||
|
{name = "buffer";}
|
||||||
|
{name = "buffer";}
|
||||||
|
{name = "cmdline";}
|
||||||
|
{name = "cmp-clippy";}
|
||||||
|
{name = "cmp-cmdline-history";}
|
||||||
|
{name = "crates";}
|
||||||
|
{name = "dap";}
|
||||||
|
{name = "dictionary";}
|
||||||
|
{name = "fish";}
|
||||||
|
{name = "git";}
|
||||||
|
{name = "luasnip";}
|
||||||
|
{name = "nvim_lsp";}
|
||||||
|
{name = "nvim_lua";}
|
||||||
|
{name = "nvim_lsp_signature_help";}
|
||||||
|
{name = "nvim_lsp_document_symbol";}
|
||||||
|
{name = "path";}
|
||||||
|
{name = "rg";}
|
||||||
|
{name = "spell";}
|
||||||
|
{name = "tmux";}
|
||||||
|
{name = "treesitter";}
|
||||||
|
];
|
||||||
|
view = {
|
||||||
|
entries = {
|
||||||
|
name = "custom";
|
||||||
|
selection_order = "near_cursor";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
window = {
|
||||||
|
completion = {
|
||||||
|
border = "cmp.config.window.bordered()";
|
||||||
|
};
|
||||||
|
documentation = {
|
||||||
|
border = "cmp.config.window.bordered()";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
mapping = {
|
||||||
|
"<CR>" = "cmp.mapping.confirm({select = true})";
|
||||||
|
"<C-Space>" = "cmp.mapping.complete()";
|
||||||
|
# "<C-y>" = "cmp.mapping.complete()";
|
||||||
|
"<C-n>" = "cmp.config.next";
|
||||||
|
"<C-p>" = "cmp.config.prev";
|
||||||
|
};
|
||||||
|
snippet.expand =
|
||||||
|
/*
|
||||||
|
lua
|
||||||
|
*/
|
||||||
|
''
|
||||||
|
function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body)
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
noice = {
|
noice = {
|
||||||
enable = true;
|
enable = true;
|
||||||
notify.enabled = false;
|
notify.enabled = false;
|
||||||
|
|
||||||
lsp.override = {
|
lsp.override = {
|
||||||
"vim.lsp.util.convert_input_to_markdown_lines" = true;
|
"vim.lsp.util.convert_input_to_markdown_lines" = true;
|
||||||
"vim.lsp.util.stylize_markdown" = true;
|
"vim.lsp.util.stylize_markdown" = true;
|
||||||
@@ -151,6 +129,7 @@ in {
|
|||||||
lsp_doc_border = true;
|
lsp_doc_border = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fidget = {
|
fidget = {
|
||||||
enable = true;
|
enable = true;
|
||||||
notification.overrideVimNotify = true;
|
notification.overrideVimNotify = true;
|
||||||
@@ -258,6 +237,66 @@ in {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
# neorg
|
||||||
|
neorg
|
||||||
|
neorg-telescope
|
||||||
|
|
||||||
|
# Wut
|
||||||
|
ChatGPT-nvim
|
||||||
|
|
||||||
|
# UI and UX
|
||||||
|
vim-abolish
|
||||||
|
octo-nvim
|
||||||
|
neoscroll-nvim
|
||||||
|
|
||||||
|
# Debuggging
|
||||||
|
nvim-dap-rr
|
||||||
|
|
||||||
|
# Treesitter stuff
|
||||||
|
outline-nvim
|
||||||
|
|
||||||
|
# lsp stuff
|
||||||
|
copilot-lua
|
||||||
|
crates-nvim
|
||||||
|
|
||||||
|
# No more postman
|
||||||
|
rest-nvim
|
||||||
|
|
||||||
|
# UI
|
||||||
|
nvim-web-devicons
|
||||||
|
|
||||||
|
# Utils
|
||||||
|
FTerm-nvim
|
||||||
|
plenary-nvim
|
||||||
|
|
||||||
|
pkgs.tree-sitter-grammars.tree-sitter-just
|
||||||
|
|
||||||
|
# Testing
|
||||||
|
neotest
|
||||||
|
# neotest-rust
|
||||||
|
];
|
||||||
|
options = {
|
||||||
|
shell = "sh";
|
||||||
|
number = true;
|
||||||
|
relativenumber = true;
|
||||||
|
tabstop = 4;
|
||||||
|
softtabstop = 4;
|
||||||
|
shiftwidth = 4;
|
||||||
|
expandtab = true;
|
||||||
|
hidden = true;
|
||||||
|
smartcase = true;
|
||||||
|
termguicolors = true;
|
||||||
|
signcolumn = "yes";
|
||||||
|
wrap = true;
|
||||||
|
completeopt = "menu,menuone,popup,noselect";
|
||||||
|
undodir = "${config.xdg.cacheHome}/undodir";
|
||||||
|
undofile = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
globals = {
|
||||||
|
mapleader = " ";
|
||||||
|
};
|
||||||
colorschemes = {
|
colorschemes = {
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -282,8 +321,8 @@ in {
|
|||||||
"<leader>dr" = "[[<cmd>RustLsp debuggables<cr>]]";
|
"<leader>dr" = "[[<cmd>RustLsp debuggables<cr>]]";
|
||||||
"<C-l>" = "[[<cmd>Outline<cr>]]";
|
"<C-l>" = "[[<cmd>Outline<cr>]]";
|
||||||
|
|
||||||
"<leader>ff" = "require'telescope.builtin'.find_files";
|
|
||||||
"<leader>fb" = "require'telescope'.extensions.file_browser.file_browser";
|
"<leader>fb" = "require'telescope'.extensions.file_browser.file_browser";
|
||||||
|
"<leader>ff" = "require'telescope.builtin'.find_files";
|
||||||
"<leader>gg" = "require'telescope.builtin'.live_grep";
|
"<leader>gg" = "require'telescope.builtin'.live_grep";
|
||||||
"<leader>;" = "require'telescope.builtin'.buffers";
|
"<leader>;" = "require'telescope.builtin'.buffers";
|
||||||
"<C-k>" = "vim.lsp.buf.definition";
|
"<C-k>" = "vim.lsp.buf.definition";
|
||||||
@@ -300,6 +339,9 @@ in {
|
|||||||
insert = {
|
insert = {
|
||||||
"<C-\\>" = "require('FTerm').toggle";
|
"<C-\\>" = "require('FTerm').toggle";
|
||||||
};
|
};
|
||||||
|
visual = {
|
||||||
|
"S" = "[[<cmd>'<,'>!sort -u<cr>]]";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfigLua = let
|
extraConfigLua = let
|
||||||
@@ -357,87 +399,70 @@ in {
|
|||||||
-- =======================================================================
|
-- =======================================================================
|
||||||
-- nvim-cmp
|
-- nvim-cmp
|
||||||
-- =======================================================================
|
-- =======================================================================
|
||||||
local cmp = require("cmp")
|
-- local cmp = require("cmp")
|
||||||
cmp.setup({
|
-- cmp.setup({
|
||||||
view = {
|
-- view = {
|
||||||
entries = { name = 'custom', selection_order = 'near_cursor' }
|
-- entries = { name = 'custom', selection_order = 'near_cursor' }
|
||||||
},
|
-- },
|
||||||
snippet = {
|
-- snippet = {
|
||||||
expand = function(args)
|
-- expand = function(args)
|
||||||
require('luasnip').lsp_expand(args.body)
|
-- require('luasnip').lsp_expand(args.body)
|
||||||
end
|
-- end
|
||||||
},
|
-- },
|
||||||
window = {
|
-- window = {
|
||||||
completion = cmp.config.window.bordered(),
|
-- completion = cmp.config.window.bordered(),
|
||||||
documentation = cmp.config.window.bordered(),
|
-- documentation = cmp.config.window.bordered(),
|
||||||
},
|
-- },
|
||||||
sources = cmp.config.sources({
|
-- sources = cmp.config.sources({
|
||||||
{ name = "copilot", },
|
-- { name = "copilot", },
|
||||||
{ name = 'buffer' },
|
-- { name = 'buffer' },
|
||||||
{ name = 'nvim_lsp' },
|
-- { name = 'nvim_lsp' },
|
||||||
{ name = 'luasnip' },
|
-- { name = 'luasnip' },
|
||||||
{ name = 'treesitter' },
|
-- { name = 'treesitter' },
|
||||||
{ name = 'path' },
|
-- { name = 'path' },
|
||||||
{ name = 'git' },
|
-- { name = 'git' },
|
||||||
{ name = 'tmux' }
|
-- { name = 'tmux' }
|
||||||
}),
|
-- }),
|
||||||
mapping = cmp.mapping.preset.insert({
|
-- mapping = cmp.mapping.preset.insert({
|
||||||
['<CR>'] = cmp.mapping.confirm(),
|
-- ['<CR>'] = cmp.mapping.confirm(),
|
||||||
['<C-y>'] = cmp.mapping.complete(),
|
-- ['<C-y>'] = cmp.mapping.complete(),
|
||||||
-- ['<C-Space>'] = cmp.mapping.complete(),
|
-- -- ['<C-Space>'] = cmp.mapping.complete(),
|
||||||
['<C-n>'] = cmp.config.next,
|
-- ['<C-n>'] = cmp.config.next,
|
||||||
['<C-p>'] = cmp.config.prev,
|
-- ['<C-p>'] = cmp.config.prev,
|
||||||
})
|
-- })
|
||||||
})
|
-- })
|
||||||
|
|
||||||
|
-- cmp.setup.cmdline({ '/', '?' }, {
|
||||||
|
-- mapping = cmp.mapping.preset.cmdline {
|
||||||
|
-- -- ['<C-n>'] = cmp.config.disable,
|
||||||
|
-- -- ['<C-p>'] = cmp.config.disable,
|
||||||
|
-- },
|
||||||
|
-- sources = {
|
||||||
|
-- { name = 'buffer' }
|
||||||
|
-- }
|
||||||
|
-- })
|
||||||
|
-- cmp.setup.cmdline(':', {
|
||||||
|
-- mapping = cmp.mapping.preset.cmdline {
|
||||||
|
-- -- ['<C-n>'] = cmp.config.disable,
|
||||||
|
-- -- ['<C-p>'] = cmp.config.disable,
|
||||||
|
-- },
|
||||||
|
-- -- mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
-- sources = cmp.config.sources({
|
||||||
|
-- { name = 'path' }
|
||||||
|
-- }, {
|
||||||
|
-- { name = 'cmdline' }
|
||||||
|
-- })
|
||||||
|
-- })
|
||||||
|
-- cmp.setup.filetype('gitcommit', {
|
||||||
|
-- sources = cmp.config.sources({
|
||||||
|
-- { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git).
|
||||||
|
-- }, {
|
||||||
|
-- { name = 'buffer' },
|
||||||
|
-- })
|
||||||
|
-- })
|
||||||
|
|
||||||
cmp.setup.cmdline({ '/', '?' }, {
|
|
||||||
mapping = cmp.mapping.preset.cmdline {
|
|
||||||
-- ['<C-n>'] = cmp.config.disable,
|
|
||||||
-- ['<C-p>'] = cmp.config.disable,
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{ name = 'buffer' }
|
|
||||||
}
|
|
||||||
})
|
|
||||||
cmp.setup.cmdline(':', {
|
|
||||||
mapping = cmp.mapping.preset.cmdline {
|
|
||||||
-- ['<C-n>'] = cmp.config.disable,
|
|
||||||
-- ['<C-p>'] = cmp.config.disable,
|
|
||||||
},
|
|
||||||
-- mapping = cmp.mapping.preset.cmdline(),
|
|
||||||
sources = cmp.config.sources({
|
|
||||||
{ name = 'path' }
|
|
||||||
}, {
|
|
||||||
{ name = 'cmdline' }
|
|
||||||
})
|
|
||||||
})
|
|
||||||
cmp.setup.filetype('gitcommit', {
|
|
||||||
sources = cmp.config.sources({
|
|
||||||
{ name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git).
|
|
||||||
}, {
|
|
||||||
{ name = 'buffer' },
|
|
||||||
})
|
|
||||||
})
|
|
||||||
require('crates').setup()
|
require('crates').setup()
|
||||||
require('outline').setup()
|
require('outline').setup()
|
||||||
-- require("noice").setup({
|
|
||||||
-- lsp = {
|
|
||||||
-- -- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
|
||||||
-- override = {
|
|
||||||
-- ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
|
||||||
-- ["vim.lsp.util.stylize_markdown"] = true,
|
|
||||||
-- ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- -- you can enable a preset for easier configuration
|
|
||||||
-- presets = {
|
|
||||||
-- bottom_search = false, -- use a classic bottom cmdline for search
|
|
||||||
-- command_palette = true, -- position the cmdline and popupmenu together
|
|
||||||
-- long_message_to_split = true, -- long messages will be sent to a split
|
|
||||||
-- inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
|
||||||
-- lsp_doc_border = true, -- add a border to hover docs and signature help
|
|
||||||
-- },
|
|
||||||
-- })
|
|
||||||
|
|
||||||
require 'FTerm'.setup({
|
require 'FTerm'.setup({
|
||||||
border = 'double',
|
border = 'double',
|
||||||
@@ -466,7 +491,6 @@ in {
|
|||||||
["core.dirman"] = {
|
["core.dirman"] = {
|
||||||
config = {
|
config = {
|
||||||
default_workspace = "Notes",
|
default_workspace = "Notes",
|
||||||
open_last_workspace = true,
|
|
||||||
workspaces = {
|
workspaces = {
|
||||||
Notes = "~/Nextcloud/Notes",
|
Notes = "~/Nextcloud/Notes",
|
||||||
Work = "~/Nextcloud/Work",
|
Work = "~/Nextcloud/Work",
|
||||||
|
|||||||
Reference in New Issue
Block a user