aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/development/git/default.nix45
-rw-r--r--modules/development/lazygit/default.nix2
-rw-r--r--modules/scripts/default.nix1
-rw-r--r--modules/scripts/git-log-graph/completion.zsh4
-rw-r--r--modules/scripts/git-log-graph/default.nix27
-rw-r--r--modules/scripts/git-log-graph/script.sh61
6 files changed, 2 insertions, 138 deletions
diff --git a/modules/development/git/default.nix b/modules/development/git/default.nix
index 8e27d3b..e9580a0 100644
--- a/modules/development/git/default.nix
+++ b/modules/development/git/default.nix
@@ -46,49 +46,9 @@
config = lib.mkIf config.development.git.enable {
home.packages = with pkgs; [
- git-graph
gawk
];
- xdg.configFile."git-graph/models/custom.toml".text = ''
- persistence = [
- '^(master|main|trunk)$',
- '^(develop|dev)$',
- '^feature.*$',
- '^release.*$',
- '^hotfix.*$',
- '^bugfix.*$',
- ]
-
- order = [
- '^(master|main|trunk)$',
- '^(hotfix|release).*$',
- '^(develop|dev)$',
- ]
-
- [terminal_colors]
- matches = [
- ['^(master|main|trunk)$', ['bright_blue']],
- ['^(develop|dev)$', ['bright_yellow']],
- ['^(feature|fork/).*$', ['bright_magenta', 'bright_cyan']],
- ['^release.*$', ['bright_green']],
- ['^(bugfix|hotfix).*$', ['bright_red']],
- ['^tags/.*$', ['bright_green']],
- ]
- unknown = ['bright_white', 'bright_red', 'bright_green', 'bright_yellow', 'bright_blue', 'bright_magenta', 'bright_cyan']
-
- [svg_colors]
- matches = [
- ['^(master|main|trunk)$', ['blue']],
- ['^(develop|dev)$', ['orange']],
- ['^(feature|fork/).*$', ['magenta', 'cyan']],
- ['^release.*$', ['green']],
- ['^(bugfix|hotfix).*$', ['red']],
- ['^tags/.*$', ['gray', 'purple', 'teal', 'brown']]
- ]
- unknown = ['gray', 'purple', 'teal', 'brown']
- '';
-
programs.git = {
enable = true;
signing = {
@@ -103,9 +63,8 @@
email = config.development.git.email;
};
core.askPass = "";
- alias = {
- log-graph = "!git-log-graph";
- log-graph-embed = "!GIT_LOG_GRAPH_EMBED=1 git-log-graph";
+ log = {
+ showSignature = true;
};
}
(
diff --git a/modules/development/lazygit/default.nix b/modules/development/lazygit/default.nix
index b490f4f..1806fa5 100644
--- a/modules/development/lazygit/default.nix
+++ b/modules/development/lazygit/default.nix
@@ -62,8 +62,6 @@
autoFetch = false;
};
git = {
- log.showWholeGraph = true;
- branchLogCmd = "git log-graph-embed";
overrideGpg = true;
};
update.method = "never";
diff --git a/modules/scripts/default.nix b/modules/scripts/default.nix
index abefa5d..caa3af7 100644
--- a/modules/scripts/default.nix
+++ b/modules/scripts/default.nix
@@ -8,7 +8,6 @@
./deep-clean
./gopass-ssh-load
./gpg-backup
- ./git-log-graph
./neomutt-sync
./screen-recording
./system-monitor
diff --git a/modules/scripts/git-log-graph/completion.zsh b/modules/scripts/git-log-graph/completion.zsh
deleted file mode 100644
index 1ede549..0000000
--- a/modules/scripts/git-log-graph/completion.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-#compdef git-log-graph
-
-_arguments \
- '--embed[Skip the pager (same as GIT_LOG_GRAPH_EMBED=1)]'
diff --git a/modules/scripts/git-log-graph/default.nix b/modules/scripts/git-log-graph/default.nix
deleted file mode 100644
index 8aa79eb..0000000
--- a/modules/scripts/git-log-graph/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- inherit ((import ../lib.nix { inherit lib pkgs; })) mkScriptModule;
- base = mkScriptModule {
- name = "git-log-graph";
- path = ./script.sh;
- description = "Git log graph with signature verification\nRun with GIT_LOG_GRAPH_EMBED=1 or --embed to skip the pager";
- deps = [
- pkgs.bash
- pkgs.git
- pkgs.git-graph
- pkgs.gawk
- pkgs.less
- ];
- completion = builtins.readFile ./completion.zsh;
- inherit config;
- };
-in
-{
- options = base.options;
- config = base.moduleConfig;
-}
diff --git a/modules/scripts/git-log-graph/script.sh b/modules/scripts/git-log-graph/script.sh
deleted file mode 100644
index 59fb2bd..0000000
--- a/modules/scripts/git-log-graph/script.sh
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-
-embed=0
-if [[ "${GIT_LOG_GRAPH_EMBED:-}" == "1" || "${1:-}" == "--embed" ]]; then
- embed=1
-fi
-
-fmt=$(printf '\033[1;34mCommit:\033[0m \033[33m%%h\033[0m \033[91m%%d\033[0m%%n\x01%%H\x01%%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')
-
-# shellcheck disable=SC2016 # awk expressions must not be expanded by bash
-awk_prog='
- index($0, "\x01") > 0 {
- line = $0
- start = index(line, "\x01")
- rest = substr(line, start + 1)
- stop = index(rest, "\x01")
- hash = substr(rest, 1, stop - 1)
- prefix = substr(line, 1, start - 1)
-
- gsub(/\033\[[0-9;]*[a-zA-Z]/, "", hash)
- gsub(/[^0-9a-fA-F]/, "", hash)
-
- if (length(hash) >= 7) {
- cmd = "git log -1 --format=\"%G?|%GK\" " hash " 2>/dev/null"
- cmd | getline sig
- close(cmd)
- split(sig, a, "|")
- st = a[1]; key = a[2]
- } else {
- st = ""; key = ""
- }
-
- if (st == "G") label = "\033[32mgood\033[0m"
- else if (st == "B") label = "\033[31mbad\033[0m"
- else if (st == "U") label = "\033[33muntrusted\033[0m"
- else if (st == "X") label = "\033[33mexpired sig\033[0m"
- else if (st == "Y") label = "\033[33mexpired key\033[0m"
- else if (st == "R") label = "\033[31mrevoked\033[0m"
- else if (st == "E") label = "\033[90munverifiable\033[0m"
- else label = "\033[90mnone\033[0m"
- keydisp = (key == "") ? "\033[90m-\033[0m" : "\033[35m" key "\033[0m"
- printf "%s\033[1;34mSignature:\033[0m %s %s\n", prefix, label, keydisp
- next
- }
- { print }
-'
-
-graph() {
- if [[ $embed -eq 1 ]]; then
- git-graph --model custom --color always --sparse --style round --no-pager --format="$fmt" | gawk "$awk_prog"
- else
- git-graph --model custom --color always --sparse --style round --format="$fmt" | gawk "$awk_prog"
- fi
-}
-
-if [[ $embed -eq 1 ]]; then
- graph
-else
- less -R < <(graph)
-fi