Compare commits

..

No commits in common. "9c8ef716897cd82873ca7525eb8d319103914bd0" and "15067c5995eb780da9d53b7d68879a54ce300c1e" have entirely different histories.

10 changed files with 58 additions and 59 deletions

View file

@ -4,7 +4,6 @@
./plugins/theme.nix ./plugins/theme.nix
./plugins/completion.nix ./plugins/completion.nix
./plugins/lsp.nix ./plugins/lsp.nix
./plugins/treesitter.nix
./plugins/formatter.nix ./plugins/formatter.nix
./plugins/statusline.nix ./plugins/statusline.nix
./plugins/git.nix ./plugins/git.nix

View file

@ -25,7 +25,7 @@
nativeBuildInputs = [pkgs.makeWrapper]; nativeBuildInputs = [pkgs.makeWrapper];
postBuild = '' postBuild = ''
wrapProgram $out/bin/nvim \ wrapProgram $out/bin/nvim \
--prefix PATH : ${pkgs.lib.makeBinPath [pkgs.git pkgs.lazygit]} --prefix PATH : ${pkgs.lib.makeBinPath [pkgs.git pkgs.fzf pkgs.lazygit]}
''; '';
}; };
}; };

View file

@ -1,14 +1,29 @@
{...}: { {...}: {
vim.autocomplete.blink-cmp = { vim = {
enable = true; autocomplete.nvim-cmp = {
mappings = { enable = true;
complete = "<C-Space>"; mappings = {
close = "<C-e>"; complete = "<C-Space>";
scrollDocsUp = "<C-b>"; close = "<C-e>";
scrollDocsDown = "<C-f>"; scrollDocsUp = "<C-b>";
confirm = "<CR>"; scrollDocsDown = "<C-f>";
next = "<C-j>"; confirm = "<CR>";
previous = "<C-k>"; next = "<C-j>";
previous = "<C-k>";
};
}; };
snippets.luasnip.enable = true;
luaConfigRC.luasnip-keymaps = ''
vim.keymap.set({"i", "s"}, "<C-l>", function()
local ls = require("luasnip")
if ls.expand_or_jumpable() then ls.expand_or_jump() end
end, {silent = true})
vim.keymap.set({"i", "s"}, "<C-h>", function()
local ls = require("luasnip")
if ls.jumpable(-1) then ls.jump(-1) end
end, {silent = true})
'';
}; };
} }

View file

@ -1,6 +1,6 @@
{pkgs, ...}: { {pkgs, ...}: {
vim = { vim = {
mini.pairs.enable = true; autopairs.nvim-autopairs.enable = true;
comments.comment-nvim.enable = true; comments.comment-nvim.enable = true;
extraPlugins = with pkgs.vimPlugins; { extraPlugins = with pkgs.vimPlugins; {

View file

@ -1,3 +1,6 @@
{...}: { {...}: {
vim.git.gitsigns.enable = true; vim.git = {
gitsigns.enable = true;
vim-fugitive.enable = true;
};
} }

View file

@ -51,8 +51,10 @@
}; };
keymaps = [ keymaps = [
{key = "<leader>ls"; mode = ["n"]; lua = true; action = "function() Snacks.picker.lsp_symbols() end"; desc = "Document Symbols";} {key = "<leader>ls"; mode = ["n"]; action = "<cmd>FzfLua lsp_document_symbols<cr>"; desc = "Document Symbols";}
{key = "<leader>lS"; mode = ["n"]; lua = true; action = "function() Snacks.picker.lsp_workspace_symbols() end"; desc = "Workspace Symbols";} {key = "<leader>lS"; mode = ["n"]; action = "<cmd>FzfLua lsp_live_workspace_symbols<cr>"; desc = "Workspace Symbols";}
{key = "<leader>la"; mode = ["n"]; lua = true; action = "function() vim.lsp.buf.code_action() end"; desc = "Code Actions";}
{key = "K"; mode = ["n"]; lua = true; action = "function() vim.lsp.buf.hover() end"; desc = "Hover Docs";}
{key = "<leader>lR"; mode = ["n"]; action = "<cmd>LspRestart<CR>"; desc = "Restart LSP";} {key = "<leader>lR"; mode = ["n"]; action = "<cmd>LspRestart<CR>"; desc = "Restart LSP";}
]; ];
}; };

View file

@ -5,8 +5,16 @@
package = harpoon2; package = harpoon2;
setup = ''require("harpoon"):setup()''; setup = ''require("harpoon"):setup()'';
}; };
oil-nvim = {
package = oil-nvim;
setup = ''require("oil").setup({})'';
};
}; };
fzf-lua = {
enable = true;
profile = "telescope";
};
session.nvim-session-manager = { session.nvim-session-manager = {
enable = true; enable = true;
@ -22,16 +30,16 @@
{key = "<leader>3"; mode = ["n"]; lua = true; action = ''function() require("harpoon"):list():select(3) end''; desc = "Harpoon file 3";} {key = "<leader>3"; mode = ["n"]; lua = true; action = ''function() require("harpoon"):list():select(3) end''; desc = "Harpoon file 3";}
{key = "<leader>4"; mode = ["n"]; lua = true; action = ''function() require("harpoon"):list():select(4) end''; desc = "Harpoon file 4";} {key = "<leader>4"; mode = ["n"]; lua = true; action = ''function() require("harpoon"):list():select(4) end''; desc = "Harpoon file 4";}
# Mini.files # Oil
{key = "-"; mode = ["n"]; lua = true; action = ''function() MiniFiles.open() end''; desc = "Open file explorer";} {key = "-"; mode = ["n"]; lua = true; action = ''function() require("oil").open() end''; desc = "Open parent directory";}
{key = "<leader>-"; mode = ["n"]; lua = true; action = ''function() MiniFiles.open(vim.api.nvim_buf_get_name(0)) end''; desc = "Open file explorer (current file)";} {key = "<leader>-"; mode = ["n"]; lua = true; action = ''function() require("oil").open_float() end''; desc = "Open parent directory (float)";}
# Snacks picker # FZF-lua
{key = "<leader>ff"; mode = ["n"]; lua = true; action = "function() Snacks.picker.files() end"; desc = "Find Files";} {key = "<leader>ff"; mode = ["n"]; action = "<cmd>FzfLua files<cr>"; desc = "Find Files";}
{key = "<leader>fg"; mode = ["n"]; lua = true; action = "function() Snacks.picker.grep() end"; desc = "Live Grep";} {key = "<leader>fg"; mode = ["n"]; action = "<cmd>FzfLua live_grep<cr>"; desc = "Live Grep";}
{key = "<leader>fb"; mode = ["n"]; lua = true; action = "function() Snacks.picker.buffers() end"; desc = "Buffer List";} {key = "<leader>fb"; mode = ["n"]; action = "<cmd>FzfLua buffers<cr>"; desc = "Buffer List";}
{key = "<leader>fh"; mode = ["n"]; lua = true; action = "function() Snacks.picker.help() end"; desc = "Help Tags";} {key = "<leader>fh"; mode = ["n"]; action = "<cmd>FzfLua help_tags<cr>"; desc = "Help Tags";}
{key = "<leader>fo"; mode = ["n"]; lua = true; action = "function() Snacks.picker.recent() end"; desc = "Recent Files";} {key = "<leader>fo"; mode = ["n"]; action = "<cmd>FzfLua oldfiles<cr>"; desc = "Recent Files";}
{key = "<leader>fn"; mode = ["n"]; action = "<cmd>Noice<cr>"; desc = "Notifications";} {key = "<leader>fn"; mode = ["n"]; action = "<cmd>Noice<cr>"; desc = "Notifications";}
# Sessions # Sessions

View file

@ -5,20 +5,19 @@
input.enable = true; input.enable = true;
lazygit.enable = true; lazygit.enable = true;
rename.enable = true; rename.enable = true;
picker.enable = true;
scroll.enable = true;
dashboard = { dashboard = {
enable = true; enable = true;
sections = [ sections = [
{section = "header";} {section = "header";}
{section = "keys"; gap = 1; padding = 1;} {section = "keys"; gap = 1; padding = 1;}
{section = "startup";}
]; ];
preset.keys = [ preset.keys = [
{icon = " "; key = "e"; action = ":ene | startinsert"; desc = "New file";} {icon = " "; key = "e"; action = ":ene | startinsert"; desc = "New file";}
{icon = " "; key = ",ff"; action = ":lua Snacks.picker.files()"; desc = "Find file";} {icon = " "; key = ",ff"; action = ":FzfLua files"; desc = "Find file";}
{icon = " "; key = ",fo"; action = ":lua Snacks.picker.recent()"; desc = "Recently opened";} {icon = " "; key = ",fo"; action = ":FzfLua oldfiles"; desc = "Recently opened";}
{icon = " "; key = ",fg"; action = ":lua Snacks.picker.grep()"; desc = "Find word";} {icon = " "; key = ",fg"; action = ":FzfLua live_grep"; desc = "Find word";}
{icon = " "; key = ",fp"; action = ":SessionManager load_session"; desc = "Open session";} {icon = " "; key = ",fp"; action = ":SessionManager load_session"; desc = "Open session";}
{icon = " "; key = "q"; action = ":qa"; desc = "Quit";} {icon = " "; key = "q"; action = ":qa"; desc = "Quit";}
]; ];

View file

@ -1,27 +0,0 @@
{...}: {
vim.treesitter.textobjects = {
enable = true;
setupOpts = {
select = {
enable = true;
lookahead = true;
keymaps = {
"af" = "@function.outer";
"if" = "@function.inner";
"ac" = "@class.outer";
"ic" = "@class.inner";
"aa" = "@parameter.outer";
"ia" = "@parameter.inner";
};
};
move = {
enable = true;
set_jumps = true;
goto_next_start."]f" = "@function.outer";
goto_previous_start."[f" = "@function.outer";
goto_next_end."]F" = "@function.outer";
goto_previous_end."[F" = "@function.outer";
};
};
};
}

View file

@ -1,10 +1,10 @@
{...}: { {...}: {
vim = { vim = {
visuals.indent-blankline.enable = true;
mini = { mini = {
icons.enable = true; icons.enable = true;
surround.enable = true; surround.enable = true;
indentscope.enable = true;
files.enable = true;
}; };
luaConfigRC.mini-icons-mock = '' luaConfigRC.mini-icons-mock = ''