1
Fork 0
mirror of https://github.com/thegeneralist01/config.git synced 2026-05-30 08:37:01 +02:00
config/modules/common/git.nix

66 lines
1.5 KiB
Nix

{ lib, pkgs, ... }:
let
inherit (lib) getExe;
in
{
environment.systemPackages = with pkgs; [
gnupg
difftastic
];
home-manager.sharedModules = [
{
programs.difftastic = {
enable = true;
options.background = "dark";
};
}
{
programs = {
gpg.enable = true;
gh.enable = true;
gh-dash.enable = true;
difftastic.git.enable = true;
git = {
enable = true;
lfs.enable = true;
settings = {
user.name = "TheGeneralist";
user.email = "180094941+thegeneralist01@users.noreply.github.com";
user.signingKey = "~/.ssh/id_ed25519";
commit.gpgSign = true;
tag.gpgSign = true;
gpg.format = "ssh";
gpg.program = getExe pkgs.gnupg;
diff.algorithm = "histogram";
diff.colorMoved = "default";
pull.rebase = true;
push.autoSetupRemote = true;
merge.conflictStyle = "zdiff3";
rebase.autoSquash = true;
rebase.autoStash = true;
rebase.updateRefs = true;
rerere.enabled = true;
fetch.fsckObjects = true;
receive.fsckObjects = true;
transfer.fsckobjects = true;
# https://bernsteinbear.com/git
alias.recent = "! git branch --sort=-committerdate --format=\"%(committerdate:relative)%09%(refname:short)\" | head -10";
safe.directory = "*";
};
};
};
}
];
}