mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-25 10:18:36 +02:00
plugins/lazygit: init
This commit is contained in:
parent
62cf01df74
commit
4dea1478eb
3 changed files with 114 additions and 0 deletions
|
@ -46,6 +46,7 @@
|
||||||
./git/gitlinker.nix
|
./git/gitlinker.nix
|
||||||
./git/gitmessenger.nix
|
./git/gitmessenger.nix
|
||||||
./git/gitsigns
|
./git/gitsigns
|
||||||
|
./git/lazygit.nix
|
||||||
./git/neogit
|
./git/neogit
|
||||||
|
|
||||||
./languages/clangd-extensions.nix
|
./languages/clangd-extensions.nix
|
||||||
|
|
92
plugins/git/lazygit.nix
Normal file
92
plugins/git/lazygit.nix
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
helpers,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
helpers.vim-plugin.mkVimPlugin config {
|
||||||
|
name = "lazygit";
|
||||||
|
originalName = "lazygit.nvim";
|
||||||
|
defaultPackage = pkgs.vimPlugins.lazygit-nvim;
|
||||||
|
globalPrefix = "lazygit_";
|
||||||
|
|
||||||
|
maintainers = [helpers.maintainers.AndresBermeoMarinelli];
|
||||||
|
|
||||||
|
settingsOptions = {
|
||||||
|
floating_window_winblend = helpers.defaultNullOpts.mkNullable (types.ints.between 0 100) "0" ''
|
||||||
|
Set the transparency of the floating window.
|
||||||
|
'';
|
||||||
|
|
||||||
|
floating_window_scaling_factor =
|
||||||
|
helpers.defaultNullOpts.mkNullable types.numbers.nonnegative
|
||||||
|
"0.9" "Set the scaling factor for floating window.";
|
||||||
|
|
||||||
|
floating_window_border_chars =
|
||||||
|
helpers.defaultNullOpts.mkListOf types.str
|
||||||
|
''["╭" "─" "╮" "│" "╯" "─" "╰" "│"]''
|
||||||
|
"Customize lazygit popup window border characters.";
|
||||||
|
|
||||||
|
floating_window_use_plenary = helpers.defaultNullOpts.mkBool false ''
|
||||||
|
Whether to use plenary.nvim to manage floating window if available.
|
||||||
|
'';
|
||||||
|
|
||||||
|
use_neovim_remote = helpers.defaultNullOpts.mkBool true ''
|
||||||
|
Whether to use neovim remote. Will fallback to `false` if neovim-remote is not installed.
|
||||||
|
'';
|
||||||
|
|
||||||
|
use_custom_config_file_path = helpers.defaultNullOpts.mkBool false ''
|
||||||
|
Config file path is evaluated if this value is `true`.
|
||||||
|
'';
|
||||||
|
|
||||||
|
config_file_path =
|
||||||
|
helpers.defaultNullOpts.mkNullable
|
||||||
|
(
|
||||||
|
with types;
|
||||||
|
either
|
||||||
|
str (listOf str)
|
||||||
|
)
|
||||||
|
"[]"
|
||||||
|
"Custom config file path or list of custom config file paths.";
|
||||||
|
};
|
||||||
|
|
||||||
|
settingsExample = {
|
||||||
|
floating_window_winblend = 0;
|
||||||
|
floating_window_scaling_factor = 0.9;
|
||||||
|
floating_window_border_chars = ["╭" "─" "╮" "│" "╯" "─" "╰" "│"];
|
||||||
|
floating_window_use_plenary = false;
|
||||||
|
use_neovim_remote = true;
|
||||||
|
use_custom_config_file_path = false;
|
||||||
|
config_file_path = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraOptions = {
|
||||||
|
gitPackage = mkOption {
|
||||||
|
type = with types; nullOr package;
|
||||||
|
default = pkgs.git;
|
||||||
|
example = null;
|
||||||
|
description = ''
|
||||||
|
The `git` package to use.
|
||||||
|
Set to `null` to not install any package.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
lazygitPackage = mkOption {
|
||||||
|
type = with types; nullOr package;
|
||||||
|
default = pkgs.lazygit;
|
||||||
|
example = null;
|
||||||
|
description = ''
|
||||||
|
The `lazygit` package to use.
|
||||||
|
Set to `null` to not install any package.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = cfg: {
|
||||||
|
extraPackages = [
|
||||||
|
cfg.gitPackage
|
||||||
|
cfg.lazygitPackage
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
21
tests/test-sources/plugins/git/lazygit.nix
Normal file
21
tests/test-sources/plugins/git/lazygit.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
empty = {
|
||||||
|
plugins.lazygit.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
defaults = {
|
||||||
|
plugins.lazygit = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
floating_window_winblend = 0;
|
||||||
|
floating_window_scaling_factor = 0.9;
|
||||||
|
floating_window_border_chars = ["╭" "─" "╮" "│" "╯" "─" "╰" "│"];
|
||||||
|
floating_window_use_plenary = false;
|
||||||
|
use_neovim_remote = true;
|
||||||
|
use_custom_config_file_path = false;
|
||||||
|
config_file_path = [];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue