diff options
| -rw-r--r-- | modules/programs/git/default.nix | 16 | ||||
| -rw-r--r-- | modules/programs/lazygit/default.nix | 4 |
2 files changed, 20 insertions, 0 deletions
diff --git a/modules/programs/git/default.nix b/modules/programs/git/default.nix index cb4519d..0fdc4fa 100644 --- a/modules/programs/git/default.nix +++ b/modules/programs/git/default.nix @@ -1,6 +1,7 @@ { config, lib, + pkgs, ... }: @@ -26,6 +27,10 @@ }; config = lib.mkIf config.programs.git.enable { + home.packages = with pkgs; [ + git-graph + ]; + programs.git = { settings = lib.recursiveUpdate @@ -35,6 +40,17 @@ email = config.programs.git.email; }; core.askPass = ""; + alias = { + # The exclamation mark (!) tells Git to execute this as an external shell command. + # This overrides standard git-graph behavior with your custom format string. + log-graph = '' + !f() { + fmt=$(printf '\033[1;34mCommit:\033[0m \033[33m%%h\033[0m%%n\033[1;34mParents:\033[0m \033[35m%%p\033[0m%%n\033[1;34mAuthor:\033[0m \033[32m%%an\033[0m <\033[96m%%ae\033[0m>%%n\033[1;34mDate:\033[0m \033[36m%%ad (%%ar)\033[0m%%n%%n%%B%%n\033[90m--------------------------------------------------------\033[0m') + + git-graph --color always --sparse --style round --format="$fmt" + }; f + ''; + }; } ( lib.optionalAttrs config.programs.git.useSSH { diff --git a/modules/programs/lazygit/default.nix b/modules/programs/lazygit/default.nix index b7882dc..e852f57 100644 --- a/modules/programs/lazygit/default.nix +++ b/modules/programs/lazygit/default.nix @@ -21,6 +21,10 @@ mouseEvents = true; border = "single"; }; + git = { + log.showWholeGraph = true; + branchLogCmd = "git log-graph"; + }; update.method = "never"; }; }; |
