45 lines
982 B
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;
|
|
}
|