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.
This commit is contained in:
Mario Rodas 2020-07-20 10:03:40 -05:00 committed by GitHub
parent 5c639ff68a
commit 4bd0ca2cd7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 43 additions and 15 deletions

View file

@ -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;
};
})
]);
}