aboutsummaryrefslogtreecommitdiffstats
path: root/modules/programs
diff options
context:
space:
mode:
Diffstat (limited to 'modules/programs')
-rw-r--r--modules/programs/git/default.nix16
-rw-r--r--modules/programs/lazygit/default.nix4
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";
};
};