refactor + add some QoL plugins

This commit is contained in:
♥ Minnie ♥ 2025-06-26 11:03:40 +08:00
parent 526e41767c
commit f42c1c8fdf
Signed by: jasmine
GPG key ID: 8563E358D4E8040E
15 changed files with 113 additions and 138 deletions

View file

@ -1,54 +1,57 @@
{...}: {
imports = [
# General configuration.
# General Configuration
./keymaps.nix
./options.nix
# Themes
# Themes & Appearance
./plugins/themes/default.nix
# Completion
# Plugin Collections
./plugins/collections/mini.nix
./plugins/collections/snacks.nix
# Completion & AI Assistancee
./plugins/cmp/cmp.nix
./plugins/cmp/copilot.nix
./plugins/cmp/copilot-chat.nix
# Debug Adapter Protocol
# Debugging (DAP)
./plugins/dap/dap.nix
./plugins/dap/dap-ui.nix
./plugins/dap/dap-virtual-text.nix
./plugins/dap/dap-python.nix
# Editor plugins and configurations
./plugins/editor/buffers.nix
# Editor Enhancements
./plugins/editor/commentary.nix
./plugins/editor/harpoon.nix
./plugins/editor/mini.nix
./plugins/editor/sessions.nix
./plugins/editor/smart-splits.nix
./plugins/editor/surround.nix
./plugins/editor/treesitter.nix
# UI plugins
# User Interface Plugins
./plugins/ui/lualine.nix
./plugins/ui/nvim-tree.nix
./plugins/ui/web-devicons.nix
./plugins/ui/whichkey.nix
# LSP and formatting
# LSP and Formatting
./plugins/lsp/conform.nix
./plugins/lsp/lsp.nix
# Git
# Git Integration
./plugins/git/fugitive.nix
./plugins/git/gitsigns.nix
# Utils
./plugins/utils/copilot-chat.nix
./plugins/utils/markdown-preview.nix
./plugins/utils/render-markdown.nix
# Markdown, Notes & Productivity
./plugins/notes/markdown-preview.nix
./plugins/notes/render-markdown.nix
./plugins/notes/todo-comments.nix
# Utilities
./plugins/utils/oil.nix
./plugins/utils/telescope.nix
./plugins/utils/todo-comments.nix
./plugins/utils/vimtex.nix
./plugins/utils/vimwiki.nix
];
}

View file

@ -11,7 +11,7 @@
};
}
{ # prefix: find
{
mode = ["n"];
key = "<leader>f";
action = "<NOP>";
@ -19,5 +19,32 @@
desc = "+find";
};
}
{
mode = ["n"];
key = "<PageUp>";
action = "<C-u>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<PageDown>";
action = "<C-d>";
options = {
silent = true;
};
}
{
mode = ["n"];
key = "<Del>";
action = "zz";
options = {
silent = true;
};
}
];
}

View file

@ -0,0 +1,19 @@
{...}:{
plugins.mini = {
enable = true;
# Extend and create a/i textobjects.
modules.ai = {
# Number of lines within which textobject is searched
n_lines = 50;
# How to search for object
search_method = "cover_or_next";
};
# Go forward/backward with square brackets.
modules.bracketed = { };
modules.align = { };
};
}

View file

@ -0,0 +1,41 @@
{...}:{
plugins.snacks = {
enable = true;
settings = {
bufdelete = {
enabled = true;
};
scroll = {
enabled = true;
};
};
};
keymaps = [
{
mode = ["n"];
key = "<leader>q";
action = {
__raw = "function() require('snacks').bufdelete() end";
};
options = {
desc = "Close current buffer";
silent = true;
};
}
{
mode = ["n"];
key = "<leader>Q";
action = {
__raw = "function() require('snacks').bufdelete.other() end";
};
options = {
desc = "Close other buffers";
silent = true;
};
}
];
}

View file

@ -1,59 +0,0 @@
{...}: {
plugins.bufdelete = {
enable = true;
};
keymaps = [
{
# buffer prefix
mode = "n";
key = "<leader>b";
action = "<Nop>";
options = {
desc = "+buffer";
};
}
{
# goto next buffer
mode = ["n"];
key = "]b";
action = ":bnext<cr>";
options = {
silent = true;
};
}
{
# goto previous buffer
mode = ["n"];
key = "[b";
action = ":bprevious<cr>";
options = {
silent = true;
};
}
{
# delete buffer
mode = ["n"];
key = "<leader>bd";
action = ":Bdelete<cr>";
options = {
desc = "bdelete";
silent = true;
};
}
{
# wipeout buffer
mode = ["n"];
key = "<leader>bw";
action = ":Bwipeout<cr>";
options = {
desc = "bwipeout";
silent = true;
};
}
];
}

View file

@ -1,31 +0,0 @@
{...}:{
plugins.mini = {
enable = true;
# Extend and create a/i textobjects.
modules.ai = {
# Module mappings.
mappings = {
# Main textobject prefixes
around = "a";
inside = "i";
# Next/last variants
around_next = "an";
inside_next = "in";
around_last = "al";
inside_last = "il";
# Move cursor to corresponding edge of `a` textobject
goto_left = "g[";
goto_right = "g]";
};
# Number of lines within which textobject is searched
n_lines = 50;
# How to search for object
search_method = "cover_or_next";
};
};
}

View file

@ -18,25 +18,4 @@
# Install all grammar packages.
grammarPackages = pkgs.vimPlugins.nvim-treesitter.allGrammars;
};
# Refactor modules for nvim-treesitter
plugins.treesitter-refactor = {
enable = true;
# Highlights definitions and usages.
highlightDefinitions = {
enable = true;
};
# Provides "go to usage"
navigation = {
enable = true;
# Go to the next / previous usage.
keymaps = {
gotoNextUsage = "]u";
gotoPreviousUsage = "[u";
};
};
};
}

View file

@ -49,8 +49,6 @@
# Configure keymaps for our diagnostics.
diagnostic = {
"<C-W>d" = "open_float"; # Show diagnostics in floating window.
"[d" = "goto_prev"; # Jump to previous diagnostic.
"]d" = "goto_next"; # Jump to next diagnostic.
};
# Configure keymaps for our lspbuf.
lspBuf = {
@ -65,7 +63,7 @@
# Renames all references to the symbol under the cursor.
"<leader>r" = {
action = "rename";
desc = "Rename";
desc = "Rename reference";
};
};

View file

@ -31,7 +31,7 @@
key = "<leader>n";
action = "<cmd>NvimTreeToggle<cr>";
options = {
desc = "Toggle NvimTree";
desc = "Toggle file explorer";
};
}
@ -40,7 +40,7 @@
key = "<leader>e";
action = "<cmd>NvimTreeFocus<cr>";
options = {
desc = "Focus NvimTree";
desc = "Focus file explorer";
};
}
];

View file

@ -3,6 +3,9 @@
enable = true;
settings = {
preset = "modern";
icons = {
mappings = false;
};
};
};

View file

@ -1,5 +0,0 @@
{...}: {
plugins.vimwiki = {
enable = true;
};
}