nixos-configs/homeManagerModules/neovim/git/default.nix

45 lines
982 B
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf;
cfg = config.programs.neovim;
in {
config = mkIf cfg.enable {
programs.neovim.plugins = [
pkgs.vimPlugins.fugitive
{
# FIXME: wait for it to reach nixpkgs
plugin = pkgs.vimPlugins.gitsigns-nvim.overrideAttrs rec {
version = "1.0.2";
src = pkgs.fetchFromGitHub {
owner = "lewis6991";
repo = "gitsigns.nvim";
tag = "v${version}";
hash = "sha256-qWusbKY+3d1dkW5oLYDyfSLdt1qFlJdDeXgFWqQ4hUI=";
};
};
type = "lua";
config =
# lua
''
--
local gitsigns = require("gitsigns");
vim.keymap.set("v", "gs", function()
gitsigns.stage_hunk({ vim.fn.line('.'), vim.fn.line('v') });
end);
gitsigns.setup();
'';
}
];
};
# For accurate stack trace
_file = ./default.nix;
}