From 4bd0ca2cd793b3f057d114bd6a3183419f52ca49 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Mon, 20 Jul 2020 10:03:40 -0500 Subject: git: configure delta through [delta] git section (#1371) this breaks backwards compatibility (now accepts a dict instead of a list) so please update programs.git.delta.options accordingly. --- modules/programs/git.nix | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) (limited to 'modules') diff --git a/modules/programs/git.nix b/modules/programs/git.nix index ec2402f11f8..a174fa0c4ee 100644 --- a/modules/programs/git.nix +++ b/modules/programs/git.nix @@ -225,11 +225,23 @@ in { }; options = mkOption { - type = types.listOf types.str; - default = [ ]; - example = [ "--dark" ]; + type = with types; + let + primitiveType = either str (either bool int); + sectionType = attrsOf primitiveType; + in attrsOf (either primitiveType sectionType); + default = { }; + example = { + features = "decorations"; + whitespace-error-style = "22 reverse"; + decorations = { + commit-decoration-style = "bold yellow box ul"; + file-style = "bold yellow ul"; + file-decoration-style = "none"; + }; + }; description = '' - Extra command line options given to delta. + Options to configure delta. ''; }; }; @@ -329,14 +341,13 @@ in { }) (mkIf cfg.delta.enable { - programs.git.iniContent = let - deltaArgs = [ "${pkgs.gitAndTools.delta}/bin/delta" ] - ++ cfg.delta.options; - in { - core.pager = concatStringsSep " " deltaArgs; - interactive.diffFilter = - concatStringsSep " " (deltaArgs ++ [ "--color-only" ]); - }; + programs.git.iniContent = + let deltaCommand = "${pkgs.gitAndTools.delta}/bin/delta"; + in { + core.pager = deltaCommand; + interactive.diffFilter = "${deltaCommand} --color-only"; + delta = cfg.delta.options; + }; }) ]); } -- cgit v1.2.3