mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-04-04 20:02:10 +02:00
@@ -2,14 +2,15 @@
|
|||||||
{ inputs, ... }: {
|
{ inputs, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
./plugins/lsp.nix
|
|
||||||
./plugins/tree.nix
|
|
||||||
./plugins/telescope.nix
|
|
||||||
./plugins/cmp.nix
|
./plugins/cmp.nix
|
||||||
./plugins/ui.nix
|
./plugins/git.nix
|
||||||
./plugins/utils.nix
|
./plugins/lsp.nix
|
||||||
./plugins/markdown.nix
|
./plugins/markdown.nix
|
||||||
./plugins/mini.nix
|
./plugins/mini.nix
|
||||||
|
./plugins/picker.nix
|
||||||
|
./plugins/snacks.nix
|
||||||
|
./plugins/trouble.nix
|
||||||
|
./plugins/utils.nix
|
||||||
|
|
||||||
./options.nix
|
./options.nix
|
||||||
./keymaps.nix
|
./keymaps.nix
|
||||||
|
|||||||
@@ -12,31 +12,6 @@
|
|||||||
};
|
};
|
||||||
spec = [
|
spec = [
|
||||||
# General Mappings
|
# General Mappings
|
||||||
{
|
|
||||||
__unkeyed-1 = "<leader>c";
|
|
||||||
mode = [ "n" "v" ];
|
|
||||||
group = "+code";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
__unkeyed-1 = "<leader>d";
|
|
||||||
mode = [ "n" "v" ];
|
|
||||||
group = "+debug";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
__unkeyed-1 = "<leader>s";
|
|
||||||
mode = "n";
|
|
||||||
group = "+search";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
__unkeyed-1 = "<leader>m";
|
|
||||||
mode = "n";
|
|
||||||
group = "+markdown";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
__unkeyed-1 = "<leader>t";
|
|
||||||
mode = "n";
|
|
||||||
group = "+trouble";
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
__unkeyed-1 = "<leader>u";
|
__unkeyed-1 = "<leader>u";
|
||||||
mode = "n";
|
mode = "n";
|
||||||
@@ -47,11 +22,6 @@
|
|||||||
mode = "n";
|
mode = "n";
|
||||||
group = "+windows";
|
group = "+windows";
|
||||||
}
|
}
|
||||||
{
|
|
||||||
__unkeyed-1 = "<leader>h";
|
|
||||||
mode = "n";
|
|
||||||
group = "+harpoon";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
win = {
|
win = {
|
||||||
border = "rounded";
|
border = "rounded";
|
||||||
@@ -62,27 +32,6 @@
|
|||||||
|
|
||||||
keymaps = [
|
keymaps = [
|
||||||
# General Mappings
|
# General Mappings
|
||||||
{
|
|
||||||
key = "<leader>e";
|
|
||||||
action = "<cmd>Oil --float<cr>";
|
|
||||||
options.desc = "Oil";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "-";
|
|
||||||
action = "<cmd>Oil<cr>";
|
|
||||||
options.desc = "Oil";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>E";
|
|
||||||
action = "<cmd>Neotree toggle<cr>";
|
|
||||||
options.desc = "Neotree";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>g";
|
|
||||||
action = "<cmd>LazyGit<cr>";
|
|
||||||
options.desc = "LazyGit";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
key = "s";
|
key = "s";
|
||||||
action = "<cmd>lua require('flash').jump()<cr>";
|
action = "<cmd>lua require('flash').jump()<cr>";
|
||||||
@@ -111,6 +60,28 @@
|
|||||||
action = "<cmd>TmuxNavigateRight<cr>";
|
action = "<cmd>TmuxNavigateRight<cr>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Disable Arrow Keys in Normal Mode
|
||||||
|
{
|
||||||
|
key = "<Up>";
|
||||||
|
action = "<Nop>";
|
||||||
|
options.desc = "Disable Up Arrow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<Down>";
|
||||||
|
action = "<Nop>";
|
||||||
|
options.desc = "Disable Down Arrow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<Left>";
|
||||||
|
action = "<Nop>";
|
||||||
|
options.desc = "Disable Left Arrow";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<Right>";
|
||||||
|
action = "<Nop>";
|
||||||
|
options.desc = "Disable Right Arrow";
|
||||||
|
}
|
||||||
|
|
||||||
# UI
|
# UI
|
||||||
{
|
{
|
||||||
key = "<leader>uw";
|
key = "<leader>uw";
|
||||||
@@ -125,7 +96,7 @@
|
|||||||
{
|
{
|
||||||
key = "<leader>us";
|
key = "<leader>us";
|
||||||
action = "<cmd>set spell!<cr>";
|
action = "<cmd>set spell!<cr>";
|
||||||
options.desc = "Toggle spellcheck";
|
options.desc = "Toggle spellLazyGitcheck";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
key = "<leader>uc";
|
key = "<leader>uc";
|
||||||
@@ -153,95 +124,6 @@
|
|||||||
options.desc = "Hide tabline";
|
options.desc = "Hide tabline";
|
||||||
}
|
}
|
||||||
|
|
||||||
# Search
|
|
||||||
{
|
|
||||||
key = "<leader> ";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').find_files()<cr>";
|
|
||||||
options.desc = "Telescope";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sg";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').live_grep()<cr>";
|
|
||||||
options.desc = "Livegrep";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sf";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').find_files()<cr>";
|
|
||||||
options.desc = "Find Files";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sb";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').buffers()<cr>";
|
|
||||||
options.desc = "Buffers";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sh";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').help_tags()<cr>";
|
|
||||||
options.desc = "Help Tags";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sc";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').commands()<cr>";
|
|
||||||
options.desc = "Commands";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sm";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').marks()<cr>";
|
|
||||||
options.desc = "Marks";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>so";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').oldfiles()<cr>";
|
|
||||||
options.desc = "Oldfiles";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ss";
|
|
||||||
action = "<cmd>lua require('telescope.builtin').spell_suggest()<cr>";
|
|
||||||
options.desc = "Spell Suggest";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>sr";
|
|
||||||
action = "<cmd>:noh<return><esc>";
|
|
||||||
options.desc = "Reset search";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>st";
|
|
||||||
action = "<cmd>TodoTelescope<cr>";
|
|
||||||
options.desc = "Todos";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Trouble
|
|
||||||
{
|
|
||||||
key = "<leader>tx";
|
|
||||||
action = "<cmd>Trouble diagnostics toggle<cr>";
|
|
||||||
options.desc = "Diagnostics (Trouble)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>tX";
|
|
||||||
action = "<cmd>Trouble diagnostics toggle filter.buf=0<cr>";
|
|
||||||
options.desc = "Buffer Diagnostics (Trouble)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ts";
|
|
||||||
action = "<cmd>Trouble symbols toggle focus=false<cr>";
|
|
||||||
options.desc = "Symbols (Trouble)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>tl";
|
|
||||||
action = "<cmd>Trouble lsp toggle focus=false win.position=right<cr>";
|
|
||||||
options.desc = "LSP Definitions / references / ... (Trouble)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>tL";
|
|
||||||
action = "<cmd>Trouble loclist toggle<cr>";
|
|
||||||
options.desc = "Location List (Trouble)";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>tQ";
|
|
||||||
action = "<cmd>Trouble qflist toggle<cr>";
|
|
||||||
options.desc = "Quickfix List (Trouble)";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Windows
|
# Windows
|
||||||
{
|
{
|
||||||
key = "<leader>ws";
|
key = "<leader>ws";
|
||||||
@@ -258,53 +140,6 @@
|
|||||||
action = "<cmd>close<cr>";
|
action = "<cmd>close<cr>";
|
||||||
options.desc = "Close";
|
options.desc = "Close";
|
||||||
}
|
}
|
||||||
|
|
||||||
# Code
|
|
||||||
{
|
|
||||||
key = "<leader>cd";
|
|
||||||
action = "<cmd>lua vim.lsp.buf.definition()<cr>";
|
|
||||||
options.desc = "LSP Definition";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>cr";
|
|
||||||
action = "<cmd>lua vim.lsp.buf.references()<cr>";
|
|
||||||
options.desc = "LSP References";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ct";
|
|
||||||
action = "<cmd>lua vim.lsp.buf.type_definition()<cr>";
|
|
||||||
options.desc = "LSP Type Definition";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>ca";
|
|
||||||
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
|
|
||||||
options.desc = "LSP Code Action";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>cf";
|
|
||||||
action = "<cmd>lua vim.lsp.buf.formatting()<cr>";
|
|
||||||
options.desc = "LSP Formatting";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>cn";
|
|
||||||
action = "<cmd>lua vim.lsp.diagnostic.goto_next()<cr>";
|
|
||||||
options.desc = "LSP Next Diagnostic";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>cp";
|
|
||||||
action = "<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>";
|
|
||||||
options.desc = "LSP Previous Diagnostic";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>cu";
|
|
||||||
action = "<cmd>lua require('dapui').toggle()<CR>";
|
|
||||||
options.desc = "Toggle Dapui";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<leader>cb";
|
|
||||||
action = "<cmd>lua require('dap').toggle_breakpoint()<CR>";
|
|
||||||
options.desc = "Toggle breakpoint";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
13
home/programs/nvim/plugins/git.nix
Normal file
13
home/programs/nvim/plugins/git.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins = {
|
||||||
|
gitsigns.enable = true;
|
||||||
|
snacks.settings = { lazygit.enable = true; };
|
||||||
|
};
|
||||||
|
keymaps = [{
|
||||||
|
key = "<leader>gl";
|
||||||
|
action = "<cmd>lua Snacks.lazygit()<cr>";
|
||||||
|
options.desc = "LazyGit";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -12,13 +12,6 @@
|
|||||||
html.enable = true;
|
html.enable = true;
|
||||||
svelte.enable = true;
|
svelte.enable = true;
|
||||||
};
|
};
|
||||||
keymaps.lspBuf = {
|
|
||||||
"gd" = "definition";
|
|
||||||
"gD" = "references";
|
|
||||||
"gt" = "type_definition";
|
|
||||||
"gi" = "implementation";
|
|
||||||
"K" = "hover";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
none-ls = {
|
none-ls = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -21,9 +21,12 @@ in {
|
|||||||
mkdnflow = {
|
mkdnflow = {
|
||||||
enable = true;
|
enable = true;
|
||||||
mappings = {
|
mappings = {
|
||||||
|
MkdnNextLink = {
|
||||||
|
key = "<S-Tab>";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnPrevLink = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,190 +0,0 @@
|
|||||||
{ config, ... }:
|
|
||||||
let
|
|
||||||
accent = "#${config.lib.stylix.colors.base0D}";
|
|
||||||
muted = "#${config.lib.stylix.colors.base03}";
|
|
||||||
in {
|
|
||||||
programs.nixvim = {
|
|
||||||
# Markdown settings
|
|
||||||
extraFiles."after/ftplugin/markdown.lua".text = ''
|
|
||||||
vim.bo.tabstop = 2
|
|
||||||
vim.bo.shiftwidth = 2
|
|
||||||
vim.bo.expandtab = true
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Highlight colors
|
|
||||||
highlight = {
|
|
||||||
Headline1 = {
|
|
||||||
bg = "#4B4266";
|
|
||||||
fg = accent;
|
|
||||||
};
|
|
||||||
Headline2 = {
|
|
||||||
bg = "#3B575E";
|
|
||||||
fg = "#9FFEFE";
|
|
||||||
};
|
|
||||||
Headline3 = {
|
|
||||||
bg = "#3B5742";
|
|
||||||
fg = "#9FFE9F";
|
|
||||||
};
|
|
||||||
Headline4 = {
|
|
||||||
bg = "#574842";
|
|
||||||
fg = "#FECB9F";
|
|
||||||
};
|
|
||||||
|
|
||||||
RenderMarkdownTodo.fg = "#f78c6c";
|
|
||||||
RenderMarkdownWarning.fg = "#ff5370";
|
|
||||||
RenderMarkdownDone.fg = muted;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Plugins
|
|
||||||
plugins = {
|
|
||||||
# This one takes care of the markdown titles
|
|
||||||
headlines = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
markdown = {
|
|
||||||
headline_highlights =
|
|
||||||
[ "Headline1" "Headline2" "Headline3" "Headline4" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# MkdnFlow is a plugin that helps you navigate markdown files
|
|
||||||
mkdnflow = {
|
|
||||||
enable = true;
|
|
||||||
modules = { conceal = false; };
|
|
||||||
toDo.symbols = [ " " "-" "x" "!" "/" ];
|
|
||||||
mappings = {
|
|
||||||
MkdnCreateLink = false;
|
|
||||||
MkdnCreateLinkFromClipboard = {
|
|
||||||
key = "<leader>ml";
|
|
||||||
modes = [ "n" "v" ];
|
|
||||||
};
|
|
||||||
MkdnDecreaseHeading = {
|
|
||||||
key = "<leader>m-";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnDestroyLink = false;
|
|
||||||
MkdnEnter = {
|
|
||||||
key = "<CR>";
|
|
||||||
modes = [ "v" ];
|
|
||||||
};
|
|
||||||
MkdnExtendList = false;
|
|
||||||
|
|
||||||
MkdnFoldSection = {
|
|
||||||
key = "<leader>mf";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
|
|
||||||
MkdnUnfoldSection = {
|
|
||||||
key = "<leader>mF";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
|
|
||||||
MkdnFollowLink = {
|
|
||||||
key = "gd";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnGoBack = false;
|
|
||||||
MkdnGoForward = false;
|
|
||||||
MkdnIncreaseHeading = {
|
|
||||||
key = "<leader>m+";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnMoveSource = false;
|
|
||||||
MkdnNewListItem = false;
|
|
||||||
MkdnNewListItemAboveInsert = {
|
|
||||||
key = "O";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnNewListItemBelowInsert = {
|
|
||||||
key = "o";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnNextHeading = {
|
|
||||||
key = "<leader>m#";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnNextLink = false;
|
|
||||||
MkdnPrevLink = false;
|
|
||||||
MkdnPrevHeading = {
|
|
||||||
key = "<leader>m*";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnSTab = false;
|
|
||||||
MkdnTab = false;
|
|
||||||
MkdnTableNewColAfter = {
|
|
||||||
key = "<leader>mc";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnTableNewColBefore = {
|
|
||||||
key = "<leader>mC";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnTableNewRowAbove = {
|
|
||||||
key = "<leader>mR";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnTableNewRowBelow = {
|
|
||||||
key = "<leader>mr";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnTableNextCell = {
|
|
||||||
key = "<S-Tab>";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnTableNextRow = false;
|
|
||||||
MkdnTablePrevCell = {
|
|
||||||
key = "<S-Tab>";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnTablePrevRow = false;
|
|
||||||
MkdnToggleToDo = {
|
|
||||||
key = "<C-Space>";
|
|
||||||
modes = [ "n" "v" ];
|
|
||||||
};
|
|
||||||
MkdnUpdateNumbering = {
|
|
||||||
key = "<leader>mn";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnYankAnchorLink = {
|
|
||||||
key = "ya";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
MkdnYankFileAnchorLink = {
|
|
||||||
key = "yfa";
|
|
||||||
modes = "n";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Render UI elements
|
|
||||||
render-markdown = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
heading = { enabled = false; };
|
|
||||||
checkbox = {
|
|
||||||
unchecked = { highlight = "RenderMarkdownTodo"; };
|
|
||||||
checked = { highlight = "RenderMarkdownDone"; };
|
|
||||||
custom = {
|
|
||||||
pending = {
|
|
||||||
raw = "[-]";
|
|
||||||
rendered = " ";
|
|
||||||
highlight = "RenderMarkdownTodo";
|
|
||||||
};
|
|
||||||
important = {
|
|
||||||
raw = "[!]";
|
|
||||||
rendered = " ";
|
|
||||||
highlight = "RenderMarkdownWarning";
|
|
||||||
};
|
|
||||||
cancel = {
|
|
||||||
raw = "[/]";
|
|
||||||
rendered = " ";
|
|
||||||
highlight = "RenderMarkdownWarning";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -15,14 +15,7 @@
|
|||||||
indentscope = { };
|
indentscope = { };
|
||||||
git = { };
|
git = { };
|
||||||
cursorword = { };
|
cursorword = { };
|
||||||
comment = {
|
comment = { };
|
||||||
mappings = {
|
|
||||||
comment = "<leader>/";
|
|
||||||
comment_line = "<leader>/";
|
|
||||||
comment_visual = "<leader>/";
|
|
||||||
textobject = "<leader>/";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
starter = { };
|
starter = { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
191
home/programs/nvim/plugins/picker.nix
Normal file
191
home/programs/nvim/plugins/picker.nix
Normal file
@@ -0,0 +1,191 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins = {
|
||||||
|
snacks.settings = {
|
||||||
|
picker.enable = true;
|
||||||
|
explorer.enable = true;
|
||||||
|
};
|
||||||
|
oil.enable = true;
|
||||||
|
which-key.settings.spec = [
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "<leader>f";
|
||||||
|
mode = "n";
|
||||||
|
group = "+find";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "<leader>g";
|
||||||
|
mode = "n";
|
||||||
|
group = "+git";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
__unkeyed-1 = "<leader>s";
|
||||||
|
mode = "n";
|
||||||
|
group = "+search";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
keymaps = [
|
||||||
|
# Top Pickers & Explorer
|
||||||
|
{
|
||||||
|
key = "<leader> ";
|
||||||
|
action = "<cmd>lua Snacks.picker.smart()<cr>";
|
||||||
|
options.desc = "Smart Find Files";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>,";
|
||||||
|
action = "<cmd>lua Snacks.picker.buffers()<cr>";
|
||||||
|
options.desc = "Buffers";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>/";
|
||||||
|
action = "<cmd>lua Snacks.picker.grep()<cr>";
|
||||||
|
options.desc = "Grep";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>:";
|
||||||
|
action = "<cmd>lua Snacks.picker.command_history()<cr>";
|
||||||
|
options.desc = "Command History";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>e";
|
||||||
|
action = "<cmd>lua Snacks.explorer()<cr>";
|
||||||
|
options.desc = "File Explorer";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "-";
|
||||||
|
action = "<cmd>Oil<cr>";
|
||||||
|
options.desc = "Oil";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Find
|
||||||
|
{
|
||||||
|
key = "<leader>fb";
|
||||||
|
action = "<cmd>lua Snacks.picker.buffers()<cr>";
|
||||||
|
options.desc = "Buffers";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>fc";
|
||||||
|
action = ''
|
||||||
|
<cmd>lua Snacks.picker.files({ cwd = vim.fn.stdpath("config") })<cr>'';
|
||||||
|
options.desc = "Find Config File";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>ff";
|
||||||
|
action = "<cmd>lua Snacks.picker.files()<cr>";
|
||||||
|
options.desc = "Find Files";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>fg";
|
||||||
|
action = "<cmd>lua Snacks.picker.git_files()<cr>";
|
||||||
|
options.desc = "Find Git Files";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>fp";
|
||||||
|
action = "<cmd>lua Snacks.picker.projects()<cr>";
|
||||||
|
options.desc = "Projects";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>fr";
|
||||||
|
action = "<cmd>lua Snacks.picker.recent()<cr>";
|
||||||
|
options.desc = "Recent";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>fn";
|
||||||
|
action = "<cmd>lua Snacks.picker.notifications()<cr>";
|
||||||
|
options.desc = "Notification History";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Git
|
||||||
|
{
|
||||||
|
key = "<leader>gb";
|
||||||
|
action = "<cmd>lua Snacks.picker.git_branches()<cr>";
|
||||||
|
options.desc = "Git Branches";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>gL";
|
||||||
|
action = "<cmd>lua Snacks.picker.git_log()<cr>";
|
||||||
|
options.desc = "Git Log Line";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>gs";
|
||||||
|
action = "<cmd>lua Snacks.picker.git_status()<cr>";
|
||||||
|
options.desc = "Git Status";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>gS";
|
||||||
|
action = "<cmd>lua Snacks.picker.git_stash()<cr>";
|
||||||
|
options.desc = "Git Stash";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>gd";
|
||||||
|
action = "<cmd>lua Snacks.picker.git_diff()<cr>";
|
||||||
|
options.desc = "Git Diff (Hunks)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>gf";
|
||||||
|
action = "<cmd>lua Snacks.picker.git_log_file()<cr>";
|
||||||
|
options.desc = "Git Log File";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Grep
|
||||||
|
{
|
||||||
|
key = "<leader>sb";
|
||||||
|
action = "<cmd>lua Snacks.picker.lines()<cr>";
|
||||||
|
options.desc = "Buffer Lines";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>sB";
|
||||||
|
action = "<cmd>lua Snacks.picker.grep_buffers()<cr>";
|
||||||
|
options.desc = "Grep Open Buffers";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>sg";
|
||||||
|
action = "<cmd>lua Snacks.picker.grep()<cr>";
|
||||||
|
options.desc = "Grep";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>sw";
|
||||||
|
action = "<cmd>lua Snacks.picker.grep_word()<cr>";
|
||||||
|
options.desc = "Visual selection or word";
|
||||||
|
}
|
||||||
|
|
||||||
|
# LSP
|
||||||
|
{
|
||||||
|
key = "gd";
|
||||||
|
action = "<cmd>lua Snacks.picker.lsp_definitions()<cr>";
|
||||||
|
options.desc = "Goto Definition";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "gD";
|
||||||
|
action = "<cmd>lua Snacks.picker.lsp_declarations()<cr>";
|
||||||
|
options.desc = "Goto Declaration";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "gr";
|
||||||
|
action = "<cmd>lua Snacks.picker.lsp_references()<cr>";
|
||||||
|
options.desc = "References";
|
||||||
|
options.nowait = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "gI";
|
||||||
|
action = "<cmd>lua Snacks.picker.lsp_implementations()<cr>";
|
||||||
|
options.desc = "Goto Implementation";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "gy";
|
||||||
|
action = "<cmd>lua Snacks.picker.lsp_type_definitions()<cr>";
|
||||||
|
options.desc = "Goto Type Definition";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>ss";
|
||||||
|
action = "<cmd>lua Snacks.picker.lsp_symbols()<cr>";
|
||||||
|
options.desc = "LSP Symbols";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>sS";
|
||||||
|
action = "<cmd>lua Snacks.picker.lsp_workspace_symbols()<cr>";
|
||||||
|
options.desc = "LSP Workspace Symbols";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
34
home/programs/nvim/plugins/snacks.nix
Normal file
34
home/programs/nvim/plugins/snacks.nix
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins.snacks = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
image = {
|
||||||
|
enable = true;
|
||||||
|
doc = { inline = false; };
|
||||||
|
};
|
||||||
|
quickfile.enable = true;
|
||||||
|
statuscolumn.enable = true;
|
||||||
|
zen.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "<leader>uz";
|
||||||
|
action = "<cmd>lua Snacks.zen()<cr>";
|
||||||
|
options.desc = "Zen";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>ud";
|
||||||
|
action = "<cmd>lua Snacks.dim.enable()<cr>";
|
||||||
|
options.desc = "Dim";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>uD";
|
||||||
|
action = "<cmd>lua Snacks.dim.disable()<cr>";
|
||||||
|
options.desc = "Undim";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
{ config, ... }:
|
|
||||||
let
|
|
||||||
accent = "#${config.lib.stylix.colors.base0D}";
|
|
||||||
background = "#${config.lib.stylix.colors.base00}";
|
|
||||||
background-alt = "#${config.lib.stylix.colors.base01}";
|
|
||||||
in {
|
|
||||||
programs.nixvim = {
|
|
||||||
highlight = {
|
|
||||||
TelescopePromptPrefix.fg = accent;
|
|
||||||
TelescopeSelectionCaret = {
|
|
||||||
fg = accent;
|
|
||||||
bg = background-alt;
|
|
||||||
};
|
|
||||||
TelescopeSelection.bg = background-alt;
|
|
||||||
TelescopePromptTitle = {
|
|
||||||
bg = background;
|
|
||||||
fg = accent;
|
|
||||||
};
|
|
||||||
TelescopePromptNormal.bg = background;
|
|
||||||
TelescopePromptBorder = {
|
|
||||||
bg = background;
|
|
||||||
fg = accent;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
plugins.telescope = {
|
|
||||||
enable = true;
|
|
||||||
extensions.fzf-native = { enable = true; };
|
|
||||||
settings.defaults = { selection_caret = "❚ "; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim = {
|
|
||||||
plugins = {
|
|
||||||
neo-tree.enable = true;
|
|
||||||
oil = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
default_file_explorer = false;
|
|
||||||
skip_confirm_for_simple_edits = true;
|
|
||||||
view_options.is_hidden_file = ''
|
|
||||||
function(name, bufnr)
|
|
||||||
return vim.startswith(name, ".") or name == "img"
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
win_options = {
|
|
||||||
concealcursor = "ncv";
|
|
||||||
conceallevel = 3;
|
|
||||||
cursorcolumn = false;
|
|
||||||
foldcolumn = "0";
|
|
||||||
list = false;
|
|
||||||
signcolumn = "no";
|
|
||||||
spell = false;
|
|
||||||
wrap = false;
|
|
||||||
};
|
|
||||||
float = { padding = 5; };
|
|
||||||
keymaps = {
|
|
||||||
"-" = "actions.parent";
|
|
||||||
"b" = "actions.parent";
|
|
||||||
"<C-c>" = "actions.close";
|
|
||||||
"<C-h>" = "actions.select_split";
|
|
||||||
"<C-l>" = "actions.refresh";
|
|
||||||
"<C-p>" = "actions.preview";
|
|
||||||
"<C-s>" = "actions.select_vsplit";
|
|
||||||
"<C-t>" = "actions.select_tab";
|
|
||||||
"<CR>" = "actions.select";
|
|
||||||
_ = "actions.open_cwd";
|
|
||||||
"`" = "actions.cd";
|
|
||||||
"g." = "actions.toggle_hidden";
|
|
||||||
"g?" = "actions.show_help";
|
|
||||||
"g\\" = "actions.toggle_trash";
|
|
||||||
gs = "actions.change_sort";
|
|
||||||
gx = "actions.open_external";
|
|
||||||
"~" = "actions.tcd";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
46
home/programs/nvim/plugins/trouble.nix
Normal file
46
home/programs/nvim/plugins/trouble.nix
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
home.packages = with pkgs; [ ctags ];
|
||||||
|
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins = {
|
||||||
|
trouble.enable = true;
|
||||||
|
which-key.settings.spec = [{
|
||||||
|
__unkeyed-1 = "<leader>t";
|
||||||
|
mode = "n";
|
||||||
|
group = "+trouble";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "<leader>tx";
|
||||||
|
action = "<cmd>Trouble diagnostics toggle<cr>";
|
||||||
|
options.desc = "Diagnostics (Trouble)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>tX";
|
||||||
|
action = "<cmd>Trouble diagnostics toggle filter.buf=0<cr>";
|
||||||
|
options.desc = "Buffer Diagnostics (Trouble)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>ts";
|
||||||
|
action = "<cmd>Trouble symbols toggle focus=false<cr>";
|
||||||
|
options.desc = "Symbols (Trouble)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>tl";
|
||||||
|
action = "<cmd>Trouble lsp toggle focus=false win.position=right<cr>";
|
||||||
|
options.desc = "LSP Definitions / references / ... (Trouble)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>tL";
|
||||||
|
action = "<cmd>Trouble loclist toggle<cr>";
|
||||||
|
options.desc = "Location List (Trouble)";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>tQ";
|
||||||
|
action = "<cmd>Trouble qflist toggle<cr>";
|
||||||
|
options.desc = "Quickfix List (Trouble)";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
home.packages = with pkgs; [ ctags ];
|
|
||||||
|
|
||||||
programs.nixvim.plugins = {
|
|
||||||
trouble.enable = true;
|
|
||||||
lazygit.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user