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 = {
curl.default = "curl";
git = {
default = "git";
example = [ "gitMinimal" ];
};
ueberzug.default = "ueberzugpp";
};

View file

@ -1,6 +1,5 @@
{
lib,
pkgs,
...
}:
let
@ -14,6 +13,14 @@ lib.nixvim.plugins.mkVimPlugin {
maintainers = [ lib.maintainers.alisonjenkins ];
imports = [
# TODO: added 2025-04-06, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "committia";
packageName = "git";
})
];
settingsOptions = {
open_only_vim_starting = defaultNullOpts.mkFlagInt 1 ''
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: {
extraPackages = [ cfg.gitPackage ];
dependencies.git.enable = lib.mkDefault true;
};
}

View file

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

View file

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

View file

@ -1,7 +1,6 @@
{
lib,
config,
pkgs,
...
}:
let
@ -14,6 +13,14 @@ lib.nixvim.plugins.mkNeovimPlugin {
maintainers = [ lib.maintainers.khaneliman ];
# TODO: added 2025-04-06, remove after 25.05
imports = [
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "git-worktree";
packageName = "git";
})
];
settingsOptions = {
change_directory_command = defaultNullOpts.mkStr "cd" ''
The vim command used to change to the new worktree directory.
@ -50,10 +57,6 @@ lib.nixvim.plugins.mkNeovimPlugin {
extraOptions = {
enableTelescope = lib.mkEnableOption "telescope integration";
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
};
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" ];

View file

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

View file

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

View file

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

View file

@ -74,13 +74,13 @@ lib.nixvim.plugins.mkNeovimPlugin {
"enable"
]
) "yadm support was removed upstream.")
];
extraOptions = {
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
};
# TODO: added 2025-04-06, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "gitsigns";
packageName = "git";
})
];
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 ];
imports = [
# TODO: added 2025-04-07, remove after 25.05
(lib.nixvim.mkRemovedPackageOptionModule {
plugin = "lazygit";
packageName = "git";
})
];
settingsOptions = {
floating_window_winblend = defaultNullOpts.mkNullable (types.ints.between 0 100) 0 ''
Set the transparency of the floating window.
@ -71,18 +79,15 @@ lib.nixvim.plugins.mkVimPlugin {
};
extraOptions = {
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
lazygitPackage = lib.mkPackageOption pkgs "lazygit" {
nullable = true;
};
};
extraConfig = cfg: {
dependencies.git.enable = lib.mkDefault true;
extraPackages = [
cfg.gitPackage
cfg.lazygitPackage
];
};

View file

@ -43,7 +43,14 @@ lib.nixvim.plugins.mkNeovimPlugin {
"alwaysDivideMiddle"
];
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 =
let
@ -400,13 +407,7 @@ lib.nixvim.plugins.mkNeovimPlugin {
};
};
extraOptions = {
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
};
extraConfig = cfg: {
extraPackages = [ cfg.gitPackage ];
extraConfig = {
dependencies.git.enable = lib.mkDefault true;
};
}

View file

@ -3,7 +3,6 @@
helpers,
config,
pkgs,
options,
...
}:
with lib;
@ -26,6 +25,12 @@ in
(mkRemovedOptionModule (
basePluginPath ++ [ "closeFloatsOnEscapeKey" ]
) "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 =
let
@ -63,10 +68,6 @@ in
];
};
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
sources =
helpers.defaultNullOpts.mkListOf types.str
[
@ -1139,6 +1140,6 @@ in
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
deprecateExtraOptions = true;
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:
mkRemovedOptionModule
@ -40,7 +51,8 @@ lib.nixvim.plugins.mkNeovimPlugin {
"sections"
"unpulled"
]
];
]
);
optionsRenamedToSettings = [
"disableSigns"
"disableHint"
@ -101,10 +113,6 @@ lib.nixvim.plugins.mkNeovimPlugin {
};
extraOptions = {
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
whichPackage = lib.mkPackageOption pkgs "which" {
nullable = true;
};
@ -132,13 +140,10 @@ lib.nixvim.plugins.mkNeovimPlugin {
]
);
extraPackages =
[
cfg.gitPackage
]
++ optional (hasInfix "which" (
cfg.settings.commit_view.verify_commit.__raw or ""
)) cfg.whichPackage;
dependencies.git.enable = lib.mkDefault true;
extraPackages = optional (hasInfix "which" (
cfg.settings.commit_view.verify_commit.__raw or ""
)) cfg.whichPackage;
};
}

View file

@ -35,6 +35,12 @@ in
"view"
"hideRootFolder"
] "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 // {
enable = mkEnableOption "nvim-tree";
@ -46,10 +52,6 @@ in
];
};
gitPackage = lib.mkPackageOption pkgs "git" {
nullable = true;
};
disableNetrw = helpers.defaultNullOpts.mkBool false "Disable netrw";
hijackNetrw = helpers.defaultNullOpts.mkBool true "Hijack netrw";
@ -1192,6 +1194,6 @@ in
require('nvim-tree').setup(${lib.nixvim.toLuaObject setupOptions})
'';
extraPackages = [ cfg.gitPackage ];
dependencies.git.enable = lib.mkDefault true;
};
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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