From 6a3c29ef39faf819e04b483f9bf69a642f7d6d1c Mon Sep 17 00:00:00 2001 From: foxora Date: Wed, 4 Mar 2026 18:08:06 +0000 Subject: [PATCH] added git stuff to neovim config --- .../programs/neovim/lua/plugins/git.lua | 24 +++++++++++++++++++ .../programs/neovim/lua/plugins/init.lua | 1 + homes/modules/programs/neovim/nixcats.nix | 11 +++++++-- overlays.nix | 16 +++++++++++++ 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 homes/modules/programs/neovim/lua/plugins/git.lua diff --git a/homes/modules/programs/neovim/lua/plugins/git.lua b/homes/modules/programs/neovim/lua/plugins/git.lua new file mode 100644 index 0000000..61d413d --- /dev/null +++ b/homes/modules/programs/neovim/lua/plugins/git.lua @@ -0,0 +1,24 @@ +return { + { + "vim-fugitive", + for_cat = "git", + cmd = { "Git", "Gvdiffsplit" }, + }, + { + "resolve-nvim", + for_cat = "git", + event = { "BufReadPre", "BufNewFile" }, + after = function(plugin) + require("resolve").setup({ + default_keymaps = false, + on_conflicts_resolved = function(info) + -- NOTE: am not sure if i wanna stage files automatically + -- local filepath = vim.api.nvim_buf_get_name(info.bufnr) + -- vim.fn.system({ "git", "add", filepath }) + -- vim.notify("conflicts resolved :3 file staged yayayayy <3", vim.log.levels.INFO) + vim.notify("conflicts resolved :3", vim.log.levels.INFO) + end, + }) + end, + }, +} diff --git a/homes/modules/programs/neovim/lua/plugins/init.lua b/homes/modules/programs/neovim/lua/plugins/init.lua index 62de146..cceea69 100644 --- a/homes/modules/programs/neovim/lua/plugins/init.lua +++ b/homes/modules/programs/neovim/lua/plugins/init.lua @@ -6,4 +6,5 @@ require("lze").load({ { import = "plugins.mini-hipatterns" }, { import = "plugins.format" }, { import = "plugins.comment" }, + { import = "plugins.git" }, }) diff --git a/homes/modules/programs/neovim/nixcats.nix b/homes/modules/programs/neovim/nixcats.nix index 106625a..91d3763 100644 --- a/homes/modules/programs/neovim/nixcats.nix +++ b/homes/modules/programs/neovim/nixcats.nix @@ -111,8 +111,7 @@ in { }; optionalPlugins = with pkgs.vimPlugins; { - general = [ - ]; + general = []; ui = [ dressing-nvim ]; @@ -152,6 +151,10 @@ in { comment = [ comment-nvim ]; + git = [ + resolve-nvim + vim-fugitive + ]; lang = { java = [ nvim-jdtls @@ -225,12 +228,16 @@ in { qol = true; telescope = true; fyler = true; + lsp = true; completion = true; treesitter = true; + format = true; comment = true; + git = false; # not really setup yet + lang = { lua = true; nix = true; diff --git a/overlays.nix b/overlays.nix index 1a50320..6214122 100644 --- a/overlays.nix +++ b/overlays.nix @@ -16,4 +16,20 @@ }); hyprland-git = inputs.hyprland-git.packages.${system}; + + vimPlugins = + (super.vimPlugins or {}) + // { + resolve-nvim = super.vimUtils.buildVimPlugin rec { + pname = "resolve-nvim"; + src = super.fetchFromGitHub { + owner = "spacedentist"; + repo = "resolve.nvim"; + rev = "1ed8bcc9ce7d43a0e8e05d0001c9cadb822d95a8"; + sha256 = "1h359zv3hcbg81plch1j1hs9nxpi719ygl2slkfdqigz406r9q86"; + }; + doCheck = false; + version = builtins.toString (src.lastModified or "master"); + }; + }; })