modules/dependencies: add git

This commit is contained in:
Gaetan Lepage 2025-04-06 17:21:24 +02:00 committed by nix-infra-bot
parent 30c4d00b72
commit 9abe8fd025
26 changed files with 179 additions and 149 deletions

View file

@ -9,6 +9,10 @@ let
packages = { packages = {
curl.default = "curl"; curl.default = "curl";
git = {
default = "git";
example = [ "gitMinimal" ];
};
ueberzug.default = "ueberzugpp"; ueberzug.default = "ueberzugpp";
}; };

View file

@ -1,6 +1,5 @@
{ {
lib, lib,
pkgs,
... ...
}: }:
let let
@ -14,6 +13,14 @@ lib.nixvim.plugins.mkVimPlugin {
maintainers = [ lib.maintainers.alisonjenkins ]; maintainers = [ lib.maintainers.alisonjenkins ];
imports = [
# TODO: added 2025-04-06, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "committia";
packageName = "git";
})
];
settingsOptions = { settingsOptions = {
open_only_vim_starting = defaultNullOpts.mkFlagInt 1 '' open_only_vim_starting = defaultNullOpts.mkFlagInt 1 ''
If `0`, committia.vim always attempts to open committia's buffer when `COMMIT_EDITMSG` buffer is opened. If `0`, committia.vim always attempts to open committia's buffer when `COMMIT_EDITMSG` buffer is opened.
@ -49,13 +56,7 @@ lib.nixvim.plugins.mkVimPlugin {
''; '';
}; };
extraOptions = {
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
};
extraConfig = cfg: { extraConfig = cfg: {
extraPackages = [ cfg.gitPackage ]; dependencies.git.enable = lib.mkDefault true;
}; };
} }

View file

@ -1,7 +1,5 @@
{ {
lib, lib,
helpers,
pkgs,
... ...
}: }:
lib.nixvim.plugins.mkVimPlugin { lib.nixvim.plugins.mkVimPlugin {
@ -11,14 +9,17 @@ lib.nixvim.plugins.mkVimPlugin {
maintainers = [ lib.maintainers.GaetanLepage ]; maintainers = [ lib.maintainers.GaetanLepage ];
# In typical tpope fashion, this plugin has no config options imports = [
extraOptions = { # TODO: added 2025-04-07, remove after 25.05
gitPackage = lib.mkPackageOption pkgs "git" { (lib.nixvim.mkRemovedPackageOptionModule {
nullable = true; plugin = "fugitive";
}; packageName = "git";
}; })
];
extraConfig = cfg: { # In typical tpope fashion, this plugin has no config options
extraPackages = [ cfg.gitPackage ];
extraConfig = {
dependencies.git.enable = lib.mkDefault true;
}; };
} }

View file

@ -1,7 +1,6 @@
{ {
lib, lib,
helpers, helpers,
pkgs,
... ...
}: }:
with lib; with lib;
@ -11,13 +10,17 @@ lib.nixvim.plugins.mkNeovimPlugin {
maintainers = [ maintainers.GaetanLepage ]; maintainers = [ maintainers.GaetanLepage ];
extraOptions = { imports = [
gitPackage = lib.mkPackageOption pkgs "git" { # TODO: added 2025-04-07, remove after 25.05
nullable = true; (lib.nixvim.mkRemovedPackageOptionModule {
}; plugin = "git-conflict";
}; packageName = "git";
})
];
extraConfig = cfg: { extraPackages = [ cfg.gitPackage ]; }; extraConfig = {
dependencies.git.enable = lib.mkDefault true;
};
settingsOptions = { settingsOptions = {
default_mappings = default_mappings =

View file

@ -1,7 +1,6 @@
{ {
lib, lib,
config, config,
pkgs,
... ...
}: }:
let let
@ -14,6 +13,14 @@ lib.nixvim.plugins.mkNeovimPlugin {
maintainers = [ lib.maintainers.khaneliman ]; maintainers = [ lib.maintainers.khaneliman ];
# TODO: added 2025-04-06, remove after 25.05
imports = [
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "git-worktree";
packageName = "git";
})
];
settingsOptions = { settingsOptions = {
change_directory_command = defaultNullOpts.mkStr "cd" '' change_directory_command = defaultNullOpts.mkStr "cd" ''
The vim command used to change to the new worktree directory. The vim command used to change to the new worktree directory.
@ -50,10 +57,6 @@ lib.nixvim.plugins.mkNeovimPlugin {
extraOptions = { extraOptions = {
enableTelescope = lib.mkEnableOption "telescope integration"; enableTelescope = lib.mkEnableOption "telescope integration";
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
}; };
callSetup = false; callSetup = false;
@ -67,7 +70,7 @@ lib.nixvim.plugins.mkNeovimPlugin {
''; '';
}; };
extraPackages = [ cfg.gitPackage ]; dependencies.git.enable = lib.mkDefault true;
plugins.telescope.enabledExtensions = lib.mkIf cfg.enableTelescope [ "git_worktree" ]; plugins.telescope.enabledExtensions = lib.mkIf cfg.enableTelescope [ "git_worktree" ];

View file

@ -1,6 +1,5 @@
{ {
lib, lib,
pkgs,
... ...
}: }:
let let
@ -26,6 +25,13 @@ lib.nixvim.plugins.mkNeovimPlugin {
"delay" "delay"
"virtualTextColumn" "virtualTextColumn"
]; ];
imports = [
# TODO: added 2025-04-07, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "gitblame";
packageName = "git";
})
];
settingsOptions = { settingsOptions = {
enabled = defaultNullOpts.mkBool true '' enabled = defaultNullOpts.mkBool true ''
@ -127,11 +133,7 @@ lib.nixvim.plugins.mkNeovimPlugin {
use_blame_commit_file_urls = true; use_blame_commit_file_urls = true;
}; };
extraOptions = { extraConfig = {
gitPackage = lib.mkPackageOption pkgs "git" { dependencies.git.enable = lib.mkDefault true;
nullable = true;
};
}; };
extraConfig = cfg: { extraPackages = [ cfg.gitPackage ]; };
} }

View file

@ -35,6 +35,12 @@ lib.nixvim.plugins.mkVimPlugin {
"modifiedAbove" "modifiedAbove"
] ]
) "This option has been removed from upstream") ) "This option has been removed from upstream")
# TODO: added 2025-04-06, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "gitgutter";
packageName = "git";
})
]; ];
extraOptions = { extraOptions = {
@ -46,10 +52,6 @@ lib.nixvim.plugins.mkVimPlugin {
''; '';
}; };
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
grepPackage = lib.mkPackageOption pkgs "gnugrep" { grepPackage = lib.mkPackageOption pkgs "gnugrep" {
nullable = true; nullable = true;
}; };
@ -61,8 +63,9 @@ lib.nixvim.plugins.mkVimPlugin {
foldtext = "gitgutter#fold#foldtext"; foldtext = "gitgutter#fold#foldtext";
}; };
dependencies.git.enable = lib.mkDefault true;
extraPackages = [ extraPackages = [
cfg.gitPackage
cfg.grepPackage cfg.grepPackage
]; ];
}; };

View file

@ -1,6 +1,5 @@
{ {
lib, lib,
pkgs,
... ...
}: }:
let let
@ -15,14 +14,8 @@ lib.nixvim.plugins.mkVimPlugin {
maintainers = [ lib.maintainers.GaetanLepage ]; maintainers = [ lib.maintainers.GaetanLepage ];
extraOptions = { extraConfig = {
gitPackage = lib.mkPackageOption pkgs "git" { dependencies.git.enable = lib.mkDefault true;
nullable = true;
};
};
extraConfig = cfg: {
extraPackages = [ cfg.gitPackage ];
}; };
# TODO: Added 2024-12-16; remove after 25.05 # TODO: Added 2024-12-16; remove after 25.05
@ -42,6 +35,13 @@ lib.nixvim.plugins.mkVimPlugin {
"floatingWinOps" "floatingWinOps"
"popupContentMargins" "popupContentMargins"
]; ];
imports = [
# TODO: added 2025-04-07, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "gitmessenger";
packageName = "git";
})
];
settingsOptions = { settingsOptions = {
close_on_cursor_moved = defaultNullOpts.mkBool true '' close_on_cursor_moved = defaultNullOpts.mkBool true ''

View file

@ -74,13 +74,13 @@ lib.nixvim.plugins.mkNeovimPlugin {
"enable" "enable"
] ]
) "yadm support was removed upstream.") ) "yadm support was removed upstream.")
];
extraOptions = { # TODO: added 2025-04-06, remove after 25.05
gitPackage = lib.mkPackageOption pkgs "git" { (lib.nixvim.mkRemovedPackageOptionModule {
nullable = true; plugin = "gitsigns";
}; packageName = "git";
}; })
];
settingsOptions = import ./settings-options.nix lib; settingsOptions = import ./settings-options.nix lib;
@ -112,6 +112,6 @@ lib.nixvim.plugins.mkNeovimPlugin {
''; '';
}; };
extraPackages = [ cfg.gitPackage ]; dependencies.git.enable = lib.mkDefault true;
}; };
} }

View file

@ -15,6 +15,14 @@ lib.nixvim.plugins.mkVimPlugin {
maintainers = [ lib.maintainers.AndresBermeoMarinelli ]; maintainers = [ lib.maintainers.AndresBermeoMarinelli ];
imports = [
# TODO: added 2025-04-07, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "lazygit";
packageName = "git";
})
];
settingsOptions = { settingsOptions = {
floating_window_winblend = defaultNullOpts.mkNullable (types.ints.between 0 100) 0 '' floating_window_winblend = defaultNullOpts.mkNullable (types.ints.between 0 100) 0 ''
Set the transparency of the floating window. Set the transparency of the floating window.
@ -71,18 +79,15 @@ lib.nixvim.plugins.mkVimPlugin {
}; };
extraOptions = { extraOptions = {
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
lazygitPackage = lib.mkPackageOption pkgs "lazygit" { lazygitPackage = lib.mkPackageOption pkgs "lazygit" {
nullable = true; nullable = true;
}; };
}; };
extraConfig = cfg: { extraConfig = cfg: {
dependencies.git.enable = lib.mkDefault true;
extraPackages = [ extraPackages = [
cfg.gitPackage
cfg.lazygitPackage cfg.lazygitPackage
]; ];
}; };

View file

@ -43,7 +43,14 @@ lib.nixvim.plugins.mkNeovimPlugin {
"alwaysDivideMiddle" "alwaysDivideMiddle"
]; ];
in in
mkSettingsRenamedOptionModules basePluginPath optionsPath oldOptions; (mkSettingsRenamedOptionModules basePluginPath optionsPath oldOptions)
++ [
# TODO: added 2025-04-06, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "lualine";
packageName = "git";
})
];
settingsOptions = settingsOptions =
let let
@ -400,13 +407,7 @@ lib.nixvim.plugins.mkNeovimPlugin {
}; };
}; };
extraOptions = { extraConfig = {
gitPackage = lib.mkPackageOption pkgs "git" { dependencies.git.enable = lib.mkDefault true;
nullable = true;
};
};
extraConfig = cfg: {
extraPackages = [ cfg.gitPackage ];
}; };
} }

View file

@ -3,7 +3,6 @@
helpers, helpers,
config, config,
pkgs, pkgs,
options,
... ...
}: }:
with lib; with lib;
@ -26,6 +25,12 @@ in
(mkRemovedOptionModule ( (mkRemovedOptionModule (
basePluginPath ++ [ "closeFloatsOnEscapeKey" ] basePluginPath ++ [ "closeFloatsOnEscapeKey" ]
) "This option has been removed from upstream.") ) "This option has been removed from upstream.")
# TODO: added 2025-04-07, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "neo-tree";
packageName = "git";
})
]; ];
options.plugins.neo-tree = options.plugins.neo-tree =
let let
@ -63,10 +68,6 @@ in
]; ];
}; };
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
sources = sources =
helpers.defaultNullOpts.mkListOf types.str helpers.defaultNullOpts.mkListOf types.str
[ [
@ -1139,6 +1140,6 @@ in
require('neo-tree').setup(${lib.nixvim.toLuaObject setupOptions}) require('neo-tree').setup(${lib.nixvim.toLuaObject setupOptions})
''; '';
extraPackages = [ cfg.gitPackage ]; dependencies.git.enable = lib.mkDefault true;
}; };
} }

View file

@ -14,7 +14,18 @@ lib.nixvim.plugins.mkNeovimPlugin {
# TODO introduced 2024-02-29: remove 2024-04-29 # TODO introduced 2024-02-29: remove 2024-04-29
deprecateExtraOptions = true; deprecateExtraOptions = true;
imports = imports =
map [
# TODO: added 2025-04-07, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "neogit";
packageName = "git";
})
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "neogit";
packageName = "which";
})
]
++ (map
( (
optionPath: optionPath:
mkRemovedOptionModule mkRemovedOptionModule
@ -40,7 +51,8 @@ lib.nixvim.plugins.mkNeovimPlugin {
"sections" "sections"
"unpulled" "unpulled"
] ]
]; ]
);
optionsRenamedToSettings = [ optionsRenamedToSettings = [
"disableSigns" "disableSigns"
"disableHint" "disableHint"
@ -101,10 +113,6 @@ lib.nixvim.plugins.mkNeovimPlugin {
}; };
extraOptions = { extraOptions = {
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
whichPackage = lib.mkPackageOption pkgs "which" { whichPackage = lib.mkPackageOption pkgs "which" {
nullable = true; nullable = true;
}; };
@ -132,13 +140,10 @@ lib.nixvim.plugins.mkNeovimPlugin {
] ]
); );
extraPackages = dependencies.git.enable = lib.mkDefault true;
[
cfg.gitPackage
]
++ optional (hasInfix "which" (
cfg.settings.commit_view.verify_commit.__raw or ""
)) cfg.whichPackage;
extraPackages = optional (hasInfix "which" (
cfg.settings.commit_view.verify_commit.__raw or ""
)) cfg.whichPackage;
}; };
} }

View file

@ -35,6 +35,12 @@ in
"view" "view"
"hideRootFolder" "hideRootFolder"
] "Set `plugins.nvim-tree.renderer.rootFolderLabel` to `false` to hide the root folder.") ] "Set `plugins.nvim-tree.renderer.rootFolderLabel` to `false` to hide the root folder.")
# TODO: added 2025-04-07, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "nvim-tree";
packageName = "git";
})
]; ];
options.plugins.nvim-tree = lib.nixvim.plugins.neovim.extraOptionsOptions // { options.plugins.nvim-tree = lib.nixvim.plugins.neovim.extraOptionsOptions // {
enable = mkEnableOption "nvim-tree"; enable = mkEnableOption "nvim-tree";
@ -46,10 +52,6 @@ in
]; ];
}; };
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
disableNetrw = helpers.defaultNullOpts.mkBool false "Disable netrw"; disableNetrw = helpers.defaultNullOpts.mkBool false "Disable netrw";
hijackNetrw = helpers.defaultNullOpts.mkBool true "Hijack netrw"; hijackNetrw = helpers.defaultNullOpts.mkBool true "Hijack netrw";
@ -1192,6 +1194,6 @@ in
require('nvim-tree').setup(${lib.nixvim.toLuaObject setupOptions}) require('nvim-tree').setup(${lib.nixvim.toLuaObject setupOptions})
''; '';
extraPackages = [ cfg.gitPackage ]; dependencies.git.enable = lib.mkDefault true;
}; };
} }

View file

@ -1,6 +1,5 @@
{ {
lib, lib,
pkgs,
... ...
}: }:
let let
@ -13,11 +12,15 @@ lib.nixvim.plugins.mkNeovimPlugin {
maintainers = [ lib.maintainers.GaetanLepage ]; maintainers = [ lib.maintainers.GaetanLepage ];
extraOptions = { imports = [
gitPackage = lib.mkPackageOption pkgs "git" { # TODO: added 2025-04-07, remove after 25.05
nullable = true; (lib.nixvim.mkRemovedPackageOptionModule {
}; plugin = "pckr";
packageName = "git";
})
];
extraOptions = {
plugins = lib.mkOption { plugins = lib.mkOption {
default = [ ]; default = [ ];
type = type =
@ -75,7 +78,7 @@ lib.nixvim.plugins.mkNeovimPlugin {
}; };
extraConfig = cfg: { extraConfig = cfg: {
extraPackages = [ cfg.gitPackage ]; dependencies.git.enable = lib.mkDefault true;
plugins.pckr.luaConfig = { plugins.pckr.luaConfig = {
# Otherwise pckr can't find itself # Otherwise pckr can't find itself

View file

@ -1,6 +1,5 @@
{ {
lib, lib,
pkgs,
... ...
}: }:
lib.nixvim.plugins.mkNeovimPlugin { lib.nixvim.plugins.mkNeovimPlugin {
@ -10,17 +9,11 @@ lib.nixvim.plugins.mkNeovimPlugin {
maintainers = [ lib.maintainers.GaetanLepage ]; maintainers = [ lib.maintainers.GaetanLepage ];
extraOptions = {
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
};
extraConfig = cfg: { extraConfig = cfg: {
extraPackages = [ dependencies = {
cfg.gitPackage curl.enable = lib.mkDefault true;
]; git.enable = lib.mkDefault true;
dependencies.curl.enable = lib.mkDefault true; };
}; };
settingsExample = { settingsExample = {

View file

@ -37,6 +37,14 @@ let
lazyPath = pkgs.linkFarm "lazy-plugins" processedPlugins; lazyPath = pkgs.linkFarm "lazy-plugins" processedPlugins;
in in
{ {
# TODO: added 2025-04-06, remove after 25.05
imports = [
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "lazy";
packageName = "git";
})
];
options = { options = {
plugins.lazy = { plugins.lazy = {
enable = mkEnableOption "lazy.nvim"; enable = mkEnableOption "lazy.nvim";
@ -46,10 +54,6 @@ in
"lazy-nvim" "lazy-nvim"
] { }; ] { };
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
plugins = plugins =
with types; with types;
let let
@ -162,7 +166,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
extraPlugins = [ cfg.package ]; extraPlugins = [ cfg.package ];
extraPackages = [ cfg.gitPackage ]; dependencies.git.enable = lib.mkDefault true;
extraConfigLua = extraConfigLua =
let let

View file

@ -21,9 +21,8 @@
}; };
no-packages = { no-packages = {
plugins.committia = { plugins.committia.enable = true;
enable = true;
gitPackage = null; dependencies.git.enable = false;
};
}; };
} }

View file

@ -33,9 +33,8 @@
}; };
no-packages = { no-packages = {
plugins.git-worktree = { dependencies.git.enable = false;
enable = true;
gitPackage = null; plugins.git-worktree.enable = true;
};
}; };
} }

View file

@ -84,13 +84,15 @@
{ {
plugins.gitgutter = { plugins.gitgutter = {
enable = true; enable = true;
gitPackage = null;
grepPackage = null; grepPackage = null;
settings = { settings = {
git_executable = lib.getExe pkgs.git; git_executable = lib.getExe pkgs.git;
grep = lib.getExe pkgs.gnugrep; grep = lib.getExe pkgs.gnugrep;
}; };
}; };
dependencies.git.enable = false;
assertions = [ assertions = [
{ {
assertion = lib.all (x: x.pname or null != "git") config.extraPackages; assertion = lib.all (x: x.pname or null != "git") config.extraPackages;

View file

@ -152,9 +152,8 @@
}; };
no-packages = { no-packages = {
plugins.lualine = { plugins.lualine.enable = true;
enable = true;
gitPackage = null; dependencies.git.enable = false;
};
}; };
} }

View file

@ -441,11 +441,12 @@
}; };
no-packages = { no-packages = {
plugins.web-devicons.enable = false; plugins = {
plugins.neo-tree = { web-devicons.enable = true;
enable = true; neo-tree.enable = true;
gitPackage = null;
}; };
dependencies.git.enable = false;
}; };
no-icons = { no-icons = {

View file

@ -296,8 +296,9 @@
no-packages = { no-packages = {
plugins.neogit = { plugins.neogit = {
enable = true; enable = true;
gitPackage = null;
whichPackage = null; whichPackage = null;
}; };
dependencies.git.enable = false;
}; };
} }

View file

@ -260,10 +260,11 @@
}; };
no-packages = { no-packages = {
plugins.web-devicons.enable = true; plugins = {
plugins.nvim-tree = { web-devicons.enable = true;
enable = true; nvim-tree.enable = true;
gitPackage = null;
}; };
dependencies.git.enable = false;
}; };
} }

View file

@ -118,9 +118,8 @@
}; };
no-packages = { no-packages = {
plugins.pckr = { plugins.pckr.enable = true;
enable = true;
gitPackage = null; dependencies.git.enable = false;
};
}; };
} }

View file

@ -91,9 +91,7 @@
}; };
no-packages = { no-packages = {
plugins.lazy = { dependencies.git.enable = false;
enable = true; plugins.lazy.enable = true;
gitPackage = null;
};
}; };
} }