mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 08:55:16 -06:00
add a few plugins like neoclip, markvieww
This commit is contained in:
parent
3f57948360
commit
bdaba979ac
14 changed files with 76 additions and 40 deletions
19
flake.lock
generated
19
flake.lock
generated
|
|
@ -99,11 +99,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"render-markdown-nvim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723453943,
|
||||||
|
"narHash": "sha256-fpmR6cqjnRcyJO2rP/8WXbu+mSSH+yblI5yyt/5yL6w=",
|
||||||
|
"owner": "MeanderingProgrammer",
|
||||||
|
"repo": "render-markdown.nvim",
|
||||||
|
"rev": "72688baea4ef0ed605033bf654b54d801b6a5f01",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "MeanderingProgrammer",
|
||||||
|
"repo": "render-markdown.nvim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"gen-luarc": "gen-luarc",
|
"gen-luarc": "gen-luarc",
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"render-markdown-nvim": "render-markdown-nvim"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
|
|
||||||
11
flake.nix
11
flake.nix
|
|
@ -5,13 +5,10 @@
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
gen-luarc.url = "github:mrcjkb/nix-gen-luarc-json";
|
gen-luarc.url = "github:mrcjkb/nix-gen-luarc-json";
|
||||||
|
render-markdown-nvim = {
|
||||||
# Add bleeding-edge plugins here.
|
url = "github:MeanderingProgrammer/render-markdown.nvim";
|
||||||
# They can be updated with `nix flake update` (make sure to commit the generated flake.lock)
|
flake = false;
|
||||||
# wf-nvim = {
|
};
|
||||||
# url = "github:Cassin01/wf.nvim";
|
|
||||||
# flake = false;
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs @ {
|
outputs = inputs @ {
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,6 @@
|
||||||
with final.pkgs.lib; let
|
with final.pkgs.lib; let
|
||||||
pkgs = final;
|
pkgs = final;
|
||||||
|
|
||||||
# Use this to create a plugin from a flake input
|
|
||||||
# mkNvimPlugin = src: pname:
|
|
||||||
# pkgs.vimUtils.buildVimPlugin {
|
|
||||||
# inherit pname src;
|
|
||||||
# version = src.lastModifiedDate;
|
|
||||||
# };
|
|
||||||
|
|
||||||
pkgs-wrapNeovim = inputs.nixpkgs.legacyPackages.${pkgs.system};
|
pkgs-wrapNeovim = inputs.nixpkgs.legacyPackages.${pkgs.system};
|
||||||
|
|
||||||
mkNeovim = pkgs.callPackage ./mkNeovim.nix { inherit pkgs-wrapNeovim; };
|
mkNeovim = pkgs.callPackage ./mkNeovim.nix { inherit pkgs-wrapNeovim; };
|
||||||
|
|
@ -23,17 +16,21 @@ with final.pkgs.lib; let
|
||||||
cmp-treesitter
|
cmp-treesitter
|
||||||
cmp_luasnip
|
cmp_luasnip
|
||||||
diffview-nvim
|
diffview-nvim
|
||||||
|
dressing-nvim
|
||||||
|
everforest
|
||||||
eyeliner-nvim
|
eyeliner-nvim
|
||||||
friendly-snippets
|
friendly-snippets
|
||||||
gitsigns-nvim
|
gitsigns-nvim
|
||||||
lualine-nvim
|
lualine-nvim
|
||||||
luasnip
|
luasnip
|
||||||
|
markview-nvim
|
||||||
mini-nvim
|
mini-nvim
|
||||||
neogen
|
neogen
|
||||||
neogit
|
neogit
|
||||||
nightfox-nvim
|
nightfox-nvim
|
||||||
nvim-cmp
|
nvim-cmp
|
||||||
nvim-lspconfig
|
nvim-lspconfig
|
||||||
|
nvim-neoclip-lua
|
||||||
nvim-treesitter-context
|
nvim-treesitter-context
|
||||||
nvim-treesitter-textobjects
|
nvim-treesitter-textobjects
|
||||||
(nvim-treesitter.withPlugins(p: with p; [
|
(nvim-treesitter.withPlugins(p: with p; [
|
||||||
|
|
@ -66,6 +63,7 @@ with final.pkgs.lib; let
|
||||||
nvim-web-devicons
|
nvim-web-devicons
|
||||||
oil-nvim
|
oil-nvim
|
||||||
rose-pine
|
rose-pine
|
||||||
|
scope-nvim
|
||||||
telescope-fzf-native-nvim
|
telescope-fzf-native-nvim
|
||||||
telescope-nvim
|
telescope-nvim
|
||||||
toggleterm-nvim
|
toggleterm-nvim
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,20 @@
|
||||||
|
vim.keymap.set('n', '<leader>x', '"rd', { remap = true, silent = true })
|
||||||
vim.cmd('colorscheme terafox')
|
vim.cmd('colorscheme terafox')
|
||||||
|
vim.api.nvim_set_hl(0, 'TabLineSel', { ctermbg=none, underline = true})
|
||||||
|
vim.api.nvim_set_hl(0, 'TabLine', { ctermbg=none, underline = false})
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>aa', '<cmd>AerialToggle!<CR>', { desc = 'Toggle Aerial' })
|
vim.keymap.set('n', '<leader>aa', '<cmd>AerialToggle!<CR>', { desc = 'Toggle Aerial' })
|
||||||
vim.keymap.set('n', '<leader>nb', vim.cmd.DiffviewOpen, { noremap = true, desc = '[g]it [d]iffview open' })
|
vim.keymap.set('n', '<leader>nb', vim.cmd.DiffviewOpen, { noremap = true, desc = '[g]it [d]iffview open' })
|
||||||
vim.keymap.set('n', '<leader>t', "<cmd>Trouble diagnostics toggle focus=true filter.buf=0<CR>", { noremap = true, desc = 'Trouble diagnostics' })
|
vim.keymap.set('n', '<leader>de', "<cmd>Trouble diagnostics toggle focus=true filter.buf=0<CR>", { noremap = true, desc = 'Trouble diagnostics' })
|
||||||
|
|
||||||
|
vim.api.nvim_set_hl(0, 'EyelinerPrimary', { underline = true })
|
||||||
|
vim.api.nvim_set_hl(0, 'EyelinerSecondary', { underline = true })
|
||||||
|
|
||||||
|
local ts = require("telescope")
|
||||||
|
ts.load_extension("aerial")
|
||||||
|
vim.keymap.set(
|
||||||
|
'n',
|
||||||
|
'<leader>fs',
|
||||||
|
ts.extensions.aerial.aerial,
|
||||||
|
{ noremap = true, silent = true, desc = 'Fuzzy find treesitter objects' }
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
-- vim settings ++ mini.nvim.basics
|
-- vim settings ++ mini.nvim.basics
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
vim.opt.backspace = 'indent,eol,start'
|
vim.opt.backspace = 'indent,eol,start'
|
||||||
|
vim.opt.clipboard = 'unnamedplus'
|
||||||
vim.opt.completeopt = 'menuone'
|
vim.opt.completeopt = 'menuone'
|
||||||
vim.opt.expandtab = true -- insert tabs as spaces
|
vim.opt.expandtab = true -- insert tabs as spaces
|
||||||
vim.opt.inccommand = 'split' -- incremental live completion
|
vim.opt.inccommand = 'split' -- incremental live completion
|
||||||
|
|
@ -18,7 +19,6 @@ vim.opt.swapfile = false
|
||||||
vim.opt.tabstop = 2 -- 2 space tabs are based
|
vim.opt.tabstop = 2 -- 2 space tabs are based
|
||||||
vim.opt.updatetime = 250 -- decrease update time
|
vim.opt.updatetime = 250 -- decrease update time
|
||||||
vim.opt.virtualedit = 'onemore'
|
vim.opt.virtualedit = 'onemore'
|
||||||
|
|
||||||
vim.g.fzf_layout = { window = { width = 0.9, height = 0.6 } }
|
vim.g.fzf_layout = { window = { width = 0.9, height = 0.6 } }
|
||||||
|
|
||||||
-- no highlight floats
|
-- no highlight floats
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,13 @@ end
|
||||||
vim.g.did_load_aerial_plugin = true
|
vim.g.did_load_aerial_plugin = true
|
||||||
|
|
||||||
require('aerial').setup {
|
require('aerial').setup {
|
||||||
default_direction = 'left',
|
|
||||||
autojump = true,
|
autojump = true,
|
||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
vim.keymap.set('n', '{', '<cmd>AerialPrev<CR>', { buffer = bufnr })
|
vim.keymap.set('n', '[[', '<cmd>AerialPrev<CR>', { buffer = bufnr })
|
||||||
vim.keymap.set('n', '}', '<cmd>AerialNext<CR>', { buffer = bufnr })
|
vim.keymap.set('n', ']]', '<cmd>AerialNext<CR>', { buffer = bufnr })
|
||||||
end,
|
end,
|
||||||
|
close_autonatic_events = {
|
||||||
|
unfocus,
|
||||||
|
switch_buffer,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ cmp.setup {
|
||||||
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
['<C-j>'] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
['<C-k>'] = cmp.mapping.scroll_docs(4),
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
['q'] = cmp.mapping.abort(),
|
['<esc>'] = cmp.mapping.abort(),
|
||||||
['<C-Space>'] = cmp.mapping.confirm { select = true }, -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
['<C-Space>'] = cmp.mapping.confirm { select = true }, -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
},
|
},
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
vim.keymap.set('n', 'gr', 'gT', { noremap = true, silent = true })
|
vim.keymap.set('n', 'tt', vim.cmd.tabnext, { silent = true })
|
||||||
|
vim.keymap.set('n', 'tr', vim.cmd.tabprev, { silent = true })
|
||||||
|
vim.keymap.set('n', 'gt', vim.cmd.bnext, { silent = true })
|
||||||
|
vim.keymap.set('n', 'gr', vim.cmd.bprev, { noremap = true, silent = true })
|
||||||
|
vim.keymap.set('n', 'gq', vim.cmd.bdelete, { silent = true })
|
||||||
vim.keymap.set('n', 'n', 'nzz', { noremap = true, silent = true })
|
vim.keymap.set('n', 'n', 'nzz', { noremap = true, silent = true })
|
||||||
vim.keymap.set('n', 'N', 'Nzz', { noremap = true, silent = true })
|
vim.keymap.set('n', 'N', 'Nzz', { noremap = true, silent = true })
|
||||||
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
||||||
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
||||||
vim.keymap.set('n', '<C-f>', '<C-f>zz')
|
vim.keymap.set('n', '<C-f>', '<C-f>zz')
|
||||||
vim.keymap.set('n', '<C-b>', '<C-b>zz')
|
vim.keymap.set('n', '<C-b>', '<C-b>zz')
|
||||||
vim.keymap.set('n', '<CR>', 'm0i<cr><Esc>`0', { noremap = true, silent = true })
|
|
||||||
vim.keymap.set({ 'v', 'i' }, 'wq', '<esc>l', { noremap = true, silent = true })
|
vim.keymap.set({ 'v', 'i' }, 'wq', '<esc>l', { noremap = true, silent = true })
|
||||||
vim.keymap.set({ 'n', 'v', 'i' }, 'qwq', '<esc>l<cmd>wqa<CR>', { noremap = true, silent = true })
|
|
||||||
vim.keymap.set({ 'n', 'v' }, '<leader>yy', '"*y', { noremap = true, silent = true, desc = 'Yank to clip' })
|
|
||||||
vim.keymap.set({ 'n', 'v' }, '<leader>yp', '"*p', { noremap = true, silent = true, desc = 'Paste from clip' })
|
|
||||||
vim.keymap.set({ 'n', 'v' }, '<leader>yd', '"*d', { noremap = true, silent = true, desc = 'Delete to clip' })
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@ lspconfig.nil_ls.setup { capabilities = capabilities }
|
||||||
|
|
||||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Prev diagnostic' })
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Prev diagnostic' })
|
||||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Next diagnostic' })
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Next diagnostic' })
|
||||||
vim.keymap.set('n', '<leader>de', vim.diagnostic.open_float, { desc = 'Toggle diagnostic' })
|
|
||||||
|
|
||||||
vim.diagnostic.config {
|
vim.diagnostic.config {
|
||||||
virtual_text = true,
|
virtual_text = true,
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,13 @@ vim.g.did_load_lualine_plugin = true
|
||||||
vim.schedule(function()
|
vim.schedule(function()
|
||||||
require('lualine').setup {
|
require('lualine').setup {
|
||||||
globalstatus = true,
|
globalstatus = true,
|
||||||
extensions = { 'fugitive', 'fzf', 'toggleterm', 'quickfix' },
|
extensions = { 'oil', 'trouble', 'aerial', 'fzf', 'toggleterm', 'quickfix' },
|
||||||
|
sections = {
|
||||||
|
lualine_x = {'filetype'}
|
||||||
|
},
|
||||||
|
tabline = {
|
||||||
|
lualine_a = {'buffers'},
|
||||||
|
lualine_z = {'tabs'},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ require('mini.pairs').setup()
|
||||||
vim.cmd([[ hi MiniCursorwordCurrent ctermfg=240 ]])
|
vim.cmd([[ hi MiniCursorwordCurrent ctermfg=240 ]])
|
||||||
|
|
||||||
require('mini.jump2d').setup {
|
require('mini.jump2d').setup {
|
||||||
mappings = { start_jumping = '<leader>s' },
|
mappings = { start_jumping = '<leader>S' },
|
||||||
}
|
}
|
||||||
|
|
||||||
indent = require('mini.indentscope')
|
indent = require('mini.indentscope')
|
||||||
|
|
@ -63,3 +63,5 @@ indent.setup {
|
||||||
draw = { delay = 0 },
|
draw = { delay = 0 },
|
||||||
}
|
}
|
||||||
indent.gen_animation.none()
|
indent.gen_animation.none()
|
||||||
|
|
||||||
|
require('mini.icons').setup()
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ require('toggleterm').setup {
|
||||||
open_mapping = [[<C-\>]],
|
open_mapping = [[<C-\>]],
|
||||||
direction = 'float',
|
direction = 'float',
|
||||||
close_on_exit = true,
|
close_on_exit = true,
|
||||||
|
autochdir = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
require('which-key').setup {
|
require('which-key').setup {
|
||||||
|
|
@ -20,3 +21,8 @@ require('which-key').setup {
|
||||||
}
|
}
|
||||||
require('trouble').setup {}
|
require('trouble').setup {}
|
||||||
require('eyeliner').setup {}
|
require('eyeliner').setup {}
|
||||||
|
require('dressing').setup {}
|
||||||
|
require('markview').setup()
|
||||||
|
require('scope').setup({})
|
||||||
|
require('neoclip').setup({default_register='+'})
|
||||||
|
vim.keymap.set('n', '<leader>fp', '<cmd>Telescope neoclip<CR>', { noremap = true, silent = true, desc = 'Pick clipboard history' })
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ end
|
||||||
|
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
'n',
|
'n',
|
||||||
'<leader><leader>',
|
'<leader>fb',
|
||||||
telescope.buffers,
|
telescope.buffers,
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find buffers' }
|
{ noremap = true, silent = true, desc = 'Fuzzy find buffers' }
|
||||||
)
|
)
|
||||||
|
|
@ -35,12 +35,6 @@ vim.keymap.set(
|
||||||
telescope.grep_string,
|
telescope.grep_string,
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find grep current word' }
|
{ noremap = true, silent = true, desc = 'Fuzzy find grep current word' }
|
||||||
)
|
)
|
||||||
vim.keymap.set(
|
|
||||||
'n',
|
|
||||||
'<leader>fs',
|
|
||||||
telescope.treesitter,
|
|
||||||
{ noremap = true, silent = true, desc = 'Fuzzy find treesitter objects' }
|
|
||||||
)
|
|
||||||
vim.keymap.set('n', '<leader>fq', telescope.quickfix, { noremap = true, silent = true, desc = 'Fuzzy find quickfix' })
|
vim.keymap.set('n', '<leader>fq', telescope.quickfix, { noremap = true, silent = true, desc = 'Fuzzy find quickfix' })
|
||||||
vim.keymap.set('n', '<leader>f<BS>', telescope.resume, { noremap = true, silent = true, desc = 'Fuzzy find resume' })
|
vim.keymap.set('n', '<leader>f<BS>', telescope.resume, { noremap = true, silent = true, desc = 'Fuzzy find resume' })
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,11 +33,9 @@ require('nvim-treesitter.configs').setup {
|
||||||
enable = true,
|
enable = true,
|
||||||
set_jumps = true, -- whether to set jumps in the jumplist
|
set_jumps = true, -- whether to set jumps in the jumplist
|
||||||
goto_next_start = {
|
goto_next_start = {
|
||||||
[']]'] = '@function.outer',
|
|
||||||
[']a'] = '@parameter.inner',
|
[']a'] = '@parameter.inner',
|
||||||
},
|
},
|
||||||
goto_previous_start = {
|
goto_previous_start = {
|
||||||
['[['] = '@function.outer',
|
|
||||||
['[a'] = '@parameter.inner',
|
['[a'] = '@parameter.inner',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -62,6 +60,6 @@ require('nvim-treesitter.configs').setup {
|
||||||
}
|
}
|
||||||
|
|
||||||
require('treesitter-context').setup {
|
require('treesitter-context').setup {
|
||||||
max_lines = 3,
|
max_lines = 2,
|
||||||
min_window_height = 50
|
min_window_height = 50
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue