nixos-config/home/git.nix
2024-05-15 22:32:15 -04:00

61 lines
1.6 KiB
Nix

{ pkgs, config, flake, ... }:
{
home.packages = with pkgs; [
git-lfs
git-filter-repo
];
programs.git = {
package = pkgs.gitAndTools.gitFull;
enable = true;
userName = flake.config.people.users.${config.home.username}.name;
userEmail = flake.config.people.users.${config.home.username}.email;
aliases = {
co = "checkout";
ci = "commit";
cia = "commit --amend";
s = "status";
st = "status";
b = "branch";
# p = "pull --rebase";
pu = "push";
};
iniContent = {
# Branch with most recent change comes first
branch.sort = "-committerdate";
# Remember and auto-resolve merge conflicts
# https://git-scm.com/book/en/v2/Git-Tools-Rerere
rerere.enabled = true;
};
ignores = [ "*~" "*.swp" ];
delta = {
enable = true;
options = {
features = "decorations";
navigate = true;
light = false;
side-by-side = true;
};
};
extraConfig = {
init.defaultBranch = "master"; # Undo breakage due to https://srid.ca/luxury-belief
core.editor = "nvim";
#protocol.keybase.allow = "always";
credential.helper = "store --file ~/.git-credentials";
pull.rebase = "false";
};
};
programs.lazygit = {
enable = true;
settings = {
# This looks better with the kitty theme.
gui.theme = {
lightTheme = false;
activeBorderColor = [ "white" "bold" ];
inactiveBorderColor = [ "white" ];
selectedLineBgColor = [ "reverse" "white" ];
};
};
};
}