2022-08-03 19:44:08 +00:00
|
|
|
{ pkgs, ... }:
|
2022-02-15 11:24:34 +00:00
|
|
|
with pkgs; {
|
2022-01-29 18:21:14 +00:00
|
|
|
programs.git = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.gitAndTools.gitFull;
|
2022-01-28 14:25:01 +00:00
|
|
|
aliases = {
|
|
|
|
a = "add -p";
|
|
|
|
co = "checkout";
|
|
|
|
cob = "checkout -b";
|
|
|
|
f = "fetch -p";
|
|
|
|
c = "commit";
|
|
|
|
p = "push";
|
|
|
|
ba = "branch -a";
|
|
|
|
bd = "branch -d";
|
|
|
|
bD = "branch -D";
|
|
|
|
d = "diff";
|
|
|
|
dc = "diff --cached";
|
|
|
|
ds = "diff --staged";
|
|
|
|
r = "restore";
|
|
|
|
rs = "restore --staged";
|
|
|
|
st = "status -sb";
|
|
|
|
# reset
|
|
|
|
soft = "reset --soft";
|
|
|
|
hard = "reset --hard";
|
|
|
|
s1ft = "soft HEAD~1";
|
|
|
|
h1rd = "hard HEAD~1";
|
|
|
|
# logging
|
2022-02-01 22:52:30 +00:00
|
|
|
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
|
|
|
|
plog = "log --graph --pretty='format:%C(red)%d%C(reset) %C(yellow)%h%C(reset) %ar %C(green)%aN%C(reset) %s'";
|
|
|
|
tlog = "log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative";
|
2022-01-28 14:25:01 +00:00
|
|
|
rank = "shortlog -sn --no-merges";
|
|
|
|
# delete merged branches
|
|
|
|
bdm = "!git branch --merged | grep -v '*' | xargs -n 1 git branch -d";
|
2022-03-16 10:38:14 +00:00
|
|
|
wt = "worktree";
|
2022-01-28 14:25:01 +00:00
|
|
|
};
|
2022-01-29 18:21:14 +00:00
|
|
|
delta = {
|
|
|
|
enable = true;
|
|
|
|
options.line-numbers = true;
|
|
|
|
};
|
|
|
|
extraConfig = {
|
2022-02-03 11:46:44 +00:00
|
|
|
core.editor = "${pkgs.neovim}/bin/nvim";
|
2022-01-29 18:21:14 +00:00
|
|
|
init.defaultBranch = "main";
|
|
|
|
pull.rebase = false;
|
2022-05-17 19:05:27 +00:00
|
|
|
gpg.format = "ssh";
|
|
|
|
gpg."ssh".allowedSignersFile = "~/.ssh/authorized_signatures";
|
2022-07-22 19:10:14 +00:00
|
|
|
"credential \"https://git.thehedgehog.me\"".username = "thehedgeh0g";
|
2022-08-03 14:06:41 +00:00
|
|
|
credential.helper = "rbw";
|
2022-01-29 18:21:14 +00:00
|
|
|
};
|
|
|
|
lfs = {
|
|
|
|
enable = true;
|
|
|
|
skipSmudge = false;
|
|
|
|
};
|
|
|
|
signing = {
|
2022-07-23 14:52:35 +00:00
|
|
|
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBBsOIMMZVmleClXfqUMrnmyh8PFuyiJqHKEZ51Xy746";
|
2022-01-29 18:21:14 +00:00
|
|
|
signByDefault = true;
|
|
|
|
};
|
2022-07-15 02:16:21 +00:00
|
|
|
userEmail = "me@thehedgehog.me";
|
2022-06-21 21:21:48 +00:00
|
|
|
userName = "The Hedgehog";
|
2022-01-28 14:25:01 +00:00
|
|
|
};
|
2022-05-14 02:01:25 +00:00
|
|
|
programs.lazygit = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
2022-08-03 19:44:08 +00:00
|
|
|
gui.showIcons = true;
|
|
|
|
gui.showRandomTip = false;
|
|
|
|
gui.theme.selectedLineBgColor = [ "default" ];
|
2022-05-14 02:01:25 +00:00
|
|
|
git.paging = {
|
|
|
|
pager = "delta --dark --paging=never";
|
|
|
|
colorArg = "always";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2022-01-28 14:25:01 +00:00
|
|
|
}
|