refactor(git): migrate git config to nix-hm

This commit is contained in:
Price Hiller 2024-03-16 13:31:19 -05:00
parent c56f4ad68d
commit 3cf116df99
Signed by: Price
GPG Key ID: C3FADDE7A8534BEB
4 changed files with 83 additions and 105 deletions

View File

@ -51,7 +51,6 @@ in {
wget wget
rsync rsync
readline readline
git
gh gh
ffmpeg ffmpeg
silicon silicon
@ -235,6 +234,89 @@ in {
source "$HOME/.config/zsh/zsh" source "$HOME/.config/zsh/zsh"
''; '';
}; };
git = {
enable = true;
hooks = { pre-commit = ../scripts/check-fmt-git-files.bash; };
userName = "Price Hiller";
userEmail = "price@orion-technologies.io";
aliases = { unstage = "reset HEAD --"; };
extraConfig = {
init.defaultBranch = "Development";
merge.conflictstyle = "zdiff3";
branch.autosetupmerge = "always";
remote.pushDefault = "origin";
am.threeWay = true;
apply.ignoreWhitespace = "change";
# SEC: Integrate https://github.com/git-ecosystem/git-credential-manager with GPG to improve
# security stance around the credential store
credential.helper = "store";
pull.rebase = true;
commit.gpgsign = true;
transfer.fsckObjects = true;
receive.fsckObjects = true;
status.submoduleSummary = true;
submodule.recurse = true;
fetch = {
fsckObjects = true;
prune = true;
prunetags = true;
};
rebase = {
autosquash = true;
autostash = true;
updateRefs = true;
};
log = {
abbrevCommit = true;
decorate = "short";
date = "iso";
};
rerere = {
enabled = true;
autoUpdate = true;
};
core = {
ignorecase = false;
quotePath = false;
};
diff = {
colorMoved = "default";
submodule = "log";
tool = "nvimdiff";
};
push = {
autoSetupRemote = true;
default = "current";
};
};
signing = {
signByDefault = true;
key = "C3FADDE7A8534BEB";
};
delta = {
enable = true;
options = {
navigate = true;
features = "interactive decorations";
interactive = { keep-plus-minus-markers = false; };
decorations = {
commit-decoration-style = "bold box ul";
dark = true;
file-style = "omit";
hunk-header-decoration-style = ''"#022b45" box ul'';
hunk-header-file-style = ''"#999999"'';
hunk-header-style = "file line-number syntax";
line-numbers = true;
line-numbers-left-style = ''"#022b45"'';
minus-emph-style = ''normal "#80002a"'';
minus-style = ''normal "#330011"'';
plus-emph-style = ''syntax "#003300"'';
plus-style = ''syntax "#001a00"'';
syntax-theme = "Solarized (dark)";
};
};
};
};
}; };
qt = { qt = {

View File

@ -1 +0,0 @@
price@orion-technologies.io ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILbE2f/zLaYg5VKnWViUrMZVQaQpP+Dm/dkmImK98rPJ sam@orion

View File

@ -1,95 +0,0 @@
[user]
name = Price Hiller
email = price@orion-technologies.io
signingkey = C3FADDE7A8534BEB
[init]
defaultBranch = Development
[core]
pager = delta
ignorecase = false
excludesfile = ~/.config/git/ignore
quotePath = false
[interactive]
diffFilter = delta --color-only --features=interactive
[merge]
conflictstyle = zdiff3
[diff]
colorMoved = default
submodule = log
tool = nvimdiff
[delta]
navigate = true
features = decorations interactive
[delta "interactive"]
keep-plus-minus-markers = false
[delta "decorations"]
# author: https://github.com/clnoll
commit-decoration-style = bold box ul
dark = true
file-style = omit
hunk-header-decoration-style = "#022b45" box ul
hunk-header-file-style = "#999999"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = "#022b45"
minus-emph-style = normal "#80002a"
minus-style = normal "#330011"
plus-emph-style = syntax "#003300"
plus-style = syntax "#001a00"
syntax-theme = Solarized (dark)
[pull]
rebase = true
[alias]
unstage = reset HEAD --
[push]
autoSetupRemote = true
default = current
[merge]
conflictstyle = diff3
[branch]
autosetupmerge = always
[remote]
pushDefault = origin
[credential]
helper = store
[commit]
gpgsign = true
[log]
abbrevCommit = true
decorate = short
date = iso
[apply]
ignoreWhitespace = change
[rerere]
enabled = true
autoUpdate = true
[am]
threeWay = true
[gpg "ssh"]
allowedSignersFile = ~/.config/git/allowed_signers
[rebase]
autosquash = true
autostash = true
updateRefs = true
[transfer]
fsckobjects = true
[fetch]
fsckobjects = true
prune = true
prunetags = true
[receieve]
fsckObjects = true
[status]
submoduleSummary = true
[submodule]
recurse = true

View File

@ -1,8 +0,0 @@
# vim: set ft=gitignore
# Ignore project specific configs for neovim
.nvim.lua
# Ignore all files and folders ending with `.ignore`
.ignore/
*.ignore