.files/nix/homeModules/common/git.nix

63 lines
1.1 KiB
Nix

{
lib,
config,
...
}: {
# git plugins
programs.git = {
lfs.enable = true;
patdiff.enable = true;
};
# 懶惰鬼賴皮
programs.lazygit = let
patdiffCfg = config.programs.git.patdiff;
in
lib.mkIf patdiffCfg.enable {
settings = {
git.paging.externalDiffCommand = "${lib.getExe' patdiffCfg.package "patdiff-git-wrapper"}";
};
};
# git itself
programs.git = {
extraConfig = {
init.defaultBranch = "trunk"; # I like trees
push.autoSetupRemote = true;
pull.ff = "only";
rerere.enabled = true;
};
ignores = [
# sanity
".env"
# vim
"*~"
"*.swp"
# darwin
"**/.DS_Store"
# nix
".direnv/"
"**/result"
"**/result-*" # building an attr of derivation will make multiple links
# pre-commit
".pre-commit-config.yaml"
# dotfiles
".config/nvim/spell/"
];
};
# identity
programs.git = {
userEmail = "leana.jiang+git@icloud.com";
userName = "Léana ";
signing = {
key = "0x4E887A4CA9714ADA";
signByDefault = lib.mkDefault false;
};
};
}