dotfiles-git/config
2023-12-21 23:39:56 +01:00

50 lines
1.6 KiB
Plaintext

# My personal git config. You're free to reuse any part of it.
# Some files are only relevent to me, and might contain private information
# (git forge URLs, which gpg keys to use, ...). They are encrypted using
# git-crypt to be extra safe.
# All of them are included under the file below so, if you wish to reuse my
# config, you'll need to delete that setting. Otherwise git will complain.
[include]
path = personal_config
[core]
editor = nvim
[init]
defaultBranch = main
[commit]
gpgsign = true
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
[user]
useConfigOnly = true
[alias]
lg-inline = "log --graph --branches --all --date=human --color --format='%C(bold dim green)%h%C(auto) - %C(yellow)%<(12)%cr %C(bold)→%C(reset) %s%C(dim white) - %an %C(bold green)<sig>%G?</sig>%GS%C(reset cyan)%d%C(reset)'"
# sed part courtesy of: https://stackoverflow.com/a/32038784
lg = "!f() { \
git lg-inline $@ |\
sed \
-e 's#<sig>G</sig>#Good Signature: #' \
-e 's#<sig>B</sig>#\\x1b[31mBAD#' \
-e 's#<sig>U</sig>#\\x1b[33mUnknown Trust: #' \
-e 's#<sig>X</sig>#Good | Expired#' \
-e 's#<sig>Y</sig>#\\x1b[33mExpired Key#' \
-e 's#<sig>R</sig>#\\x1b[31mRevoked#' \
-e 's#<sig>E</sig>#\\x1b[33mMissing Key#' \
-e 's#<sig>N</sig>##' | \
less -cr; \
}; f"
ck = "checkout"
s = "status"
# Inspired, then evolved from:
# https://www.micah.soy/posts/setting-up-git-identities/
identity = "!~/.config/git/scripts/identity.sh"