From 36817384a6583478b8c03d269a7ab9339a7c5dfb Mon Sep 17 00:00:00 2001 From: Hanwen Guo Date: Wed, 3 Dec 2025 12:48:35 -0700 Subject: [PATCH] programs/git: package nullable Some platforms (e.g. macOS) provide their customized version of git with exclusive features, and user might want to use that instead. --- modules/programs/git.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/programs/git.nix b/modules/programs/git.nix index 3d7bc0d21..b28380f60 100644 --- a/modules/programs/git.nix +++ b/modules/programs/git.nix @@ -41,6 +41,7 @@ in enable = mkEnableOption "Git"; package = lib.mkPackageOption pkgs "git" { + nullable = true; example = "pkgs.gitFull"; extraDescription = '' Use {var}`pkgs.gitFull` @@ -328,7 +329,7 @@ in config = mkIf cfg.enable ( lib.mkMerge [ { - home.packages = [ cfg.package ]; + home.packages = lib.optionals (cfg.package != null) [ cfg.package ]; assertions = [ { @@ -516,7 +517,7 @@ in Type = "oneshot"; ExecStart = let - exe = lib.getExe cfg.package; + exe = if cfg.package != null then lib.getExe cfg.package else "git"; in '' "${exe}" for-each-repo --keep-going --config=maintenance.repo maintenance run --schedule=%i @@ -553,7 +554,7 @@ in launchd.agents = let baseArguments = [ - "${lib.getExe cfg.package}" + "${if cfg.package != null then lib.getExe cfg.package else "git"}" "for-each-repo" "--keep-going" "--config=maintenance.repo"