nix-community.nixvim/plugins/by-name/fugit2/default.nix
osbm a41559f093
Some checks are pending
Publish every Git push to main to FlakeHub / flakehub-publish (push) Waiting to run
Publish every git push to Flakestry / publish-flake (push) Waiting to run
Documentation / Version info (push) Waiting to run
Documentation / Build (push) Blocked by required conditions
Documentation / Combine builds (push) Blocked by required conditions
Documentation / Deploy (push) Blocked by required conditions
treewide: add plugin descriptions
2025-06-24 06:10:11 +00:00

73 lines
1.8 KiB
Nix

{ lib, ... }:
let
inherit (lib) types;
inherit (lib.nixvim) defaultNullOpts mkNullOrStr;
in
lib.nixvim.plugins.mkNeovimPlugin {
name = "fugit2";
packPathName = "fugit2.nvim";
package = "fugit2-nvim";
description = "Neovim git GUI powered by libgit2.";
maintainers = [ lib.maintainers.GaetanLepage ];
settingsOptions = {
width = defaultNullOpts.mkNullable (with types; either str ints.unsigned) 100 ''
Main popup width.
'';
max_width = defaultNullOpts.mkNullable (with types; either str ints.unsigned) "80%" ''
Main popup width when expand patch view.
'';
min_width = defaultNullOpts.mkUnsignedInt 50 ''
File view width when expand patch view.
'';
content_width = defaultNullOpts.mkUnsignedInt 60 ''
File view content width.
'';
height = defaultNullOpts.mkNullable (with types; either str ints.unsigned) "60%" ''
Main popup height.
'';
show_patch = defaultNullOpts.mkBool false ''
Whether to show patch for active file when open `fugit2` main window.
'';
libgit2_path = mkNullOrStr ''
Path to `libgit2` lib if not set via environments.
'';
gpgme_path = defaultNullOpts.mkStr "gpgme" ''
Path to the `gpgme` lib.
'';
external_diffview = defaultNullOpts.mkBool false ''
Whether to use external diffview.nvim or Fugit2 implementation.
'';
blame_priority = defaultNullOpts.mkUnsignedInt 1 ''
Priority of blame virtual text.
'';
blame_info_width = defaultNullOpts.mkUnsignedInt 60 ''
Width of blame hunk detail popup.
'';
blame_info_height = defaultNullOpts.mkUnsignedInt 10 ''
Height of blame hunk detail popup.
'';
colorscheme = mkNullOrStr ''
Custom colorscheme specification.
'';
};
settingsExample = {
width = "62%";
height = "90%";
external_diffview = true;
};
}