mirror of
https://github.com/srid/nixos-config.git
synced 2025-12-28 00:05:00 +08:00
61 lines
1.5 KiB
Nix
61 lines
1.5 KiB
Nix
{ pkgs, flake, ... }:
|
|
let
|
|
package =
|
|
#if pkgs.stdenv.isDarwin then
|
|
# Upstream has broken mac package
|
|
# pkgs.gitAndTools.gitFull.override { svnSupport = false; }
|
|
#else
|
|
pkgs.gitAndTools.git;
|
|
in
|
|
{
|
|
home.packages = with pkgs; [
|
|
git-filter-repo
|
|
];
|
|
|
|
programs.git = {
|
|
inherit package;
|
|
# difftastic.enable = true;
|
|
enable = true;
|
|
userName = flake.config.me.fullname;
|
|
userEmail = flake.config.me.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" ];
|
|
lfs.enable = 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" ];
|
|
};
|
|
};
|
|
};
|
|
}
|