From 9cc70f8c0398913d92f32d678715811638c1dcc4 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 7 Apr 2025 15:49:34 +0200 Subject: [PATCH] modules/dependencies: add which --- modules/dependencies.nix | 1 + plugins/by-name/neogit/default.nix | 19 ++++++++----------- .../plugins/by-name/neogit/default.nix | 10 +++++----- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/modules/dependencies.nix b/modules/dependencies.nix index e20ab28f..eee05493 100644 --- a/modules/dependencies.nix +++ b/modules/dependencies.nix @@ -14,6 +14,7 @@ let example = [ "gitMinimal" ]; }; ueberzug.default = "ueberzugpp"; + which.default = "which"; }; mkDependencyOption = name: properties: { diff --git a/plugins/by-name/neogit/default.nix b/plugins/by-name/neogit/default.nix index 6a78efbc..2506a6d6 100644 --- a/plugins/by-name/neogit/default.nix +++ b/plugins/by-name/neogit/default.nix @@ -2,7 +2,6 @@ lib, helpers, config, - pkgs, ... }: with lib; @@ -112,12 +111,6 @@ lib.nixvim.plugins.mkNeovimPlugin { }; }; - extraOptions = { - whichPackage = lib.mkPackageOption pkgs "which" { - nullable = true; - }; - }; - extraConfig = cfg: { assertions = lib.nixvim.mkAssertions "plugins.neogit" ( map @@ -140,10 +133,14 @@ lib.nixvim.plugins.mkNeovimPlugin { ] ); - dependencies.git.enable = lib.mkDefault true; + dependencies = { + git.enable = lib.mkDefault true; - extraPackages = optional (hasInfix "which" ( - cfg.settings.commit_view.verify_commit.__raw or "" - )) cfg.whichPackage; + which.enable = + let + autoInstallWhich = hasInfix "which" (cfg.settings.commit_view.verify_commit.__raw or ""); + in + lib.mkIf autoInstallWhich (lib.mkDefault true); + }; }; } diff --git a/tests/test-sources/plugins/by-name/neogit/default.nix b/tests/test-sources/plugins/by-name/neogit/default.nix index 19dc590c..a9b0b1f0 100644 --- a/tests/test-sources/plugins/by-name/neogit/default.nix +++ b/tests/test-sources/plugins/by-name/neogit/default.nix @@ -294,11 +294,11 @@ }; no-packages = { - plugins.neogit = { - enable = true; - whichPackage = null; - }; + plugins.neogit.enable = true; - dependencies.git.enable = false; + dependencies = { + git.enable = false; + which.enable = false; + }; }; }