100 lines
2.6 KiB
Nix
100 lines
2.6 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
home.packages = with pkgs; [
|
|
delta
|
|
# difftastic
|
|
];
|
|
programs.git = {
|
|
enable = true;
|
|
extraConfig = {
|
|
init.defaultBranch = "main";
|
|
diff = {
|
|
algorithm = "histogram";
|
|
colorMoved = "default";
|
|
colorMovedWS = "allow-indentation-change";
|
|
context = 10;
|
|
tool = "difftastic";
|
|
external = "difft";
|
|
};
|
|
difftastic = {
|
|
prompt = false;
|
|
"difftastic" = {
|
|
cmd = ''difft "$LOCAL" "$REMOTE"'';
|
|
};
|
|
};
|
|
pager.difftool = true;
|
|
commit.verbose = true;
|
|
help.autocorrect = 1;
|
|
push = {
|
|
autoSetupRemote = true;
|
|
default = "current";
|
|
};
|
|
pull.rebase = true;
|
|
merge.conflictStyle = "zdiff3";
|
|
rebase.autosquash = true;
|
|
url = {
|
|
"git@gitlab.bareksa.com:" = {
|
|
insteadOf = "https://gitlab.bareksa.com";
|
|
};
|
|
"git@github.com:" = {
|
|
pushInsteadOf = "https://github.com";
|
|
};
|
|
};
|
|
includeIf = {
|
|
"gitdir:~/bareksa/" = {
|
|
path = "~/bareksa/.gitconfig";
|
|
};
|
|
};
|
|
|
|
# Submodules
|
|
status.submodulesummary = true;
|
|
diff.submodule = "log";
|
|
fetch.recurseSubmodules = "on-demand";
|
|
submodule.recurse = true;
|
|
};
|
|
userEmail = "tigor.hutasuhut@gmail.com";
|
|
userName = "Tigor Hutasuhut";
|
|
};
|
|
|
|
programs.lazygit = {
|
|
enable = true;
|
|
settings = {
|
|
git.paging = {
|
|
colorArg = "always";
|
|
pager = "delta --dark --paging=never";
|
|
# externalDiffCommand = "difft --color=always --display=inline --syntax-highlight=on --tab-width=2";
|
|
};
|
|
keybinding = {
|
|
files = {
|
|
# Swap commit changes and commit changes with editor
|
|
#
|
|
# since it's better to use neovim to write commit message
|
|
commitChanges = "C";
|
|
commitChangesWithEditor = "c";
|
|
};
|
|
|
|
commits = {
|
|
# Also swap rename commit and rename commit with editor
|
|
renameCommitWithEditor = "r";
|
|
renameCommit = "R";
|
|
};
|
|
};
|
|
theme = {
|
|
# Catppuccin Macchiato Rosewater
|
|
activeBorderColor = [
|
|
"#f4dbd6"
|
|
"bold"
|
|
];
|
|
inactiveBorderColor = [ "#a5adcb" ];
|
|
optionsTextColor = [ "#8aadf4" ];
|
|
selectedLineBgColor = [ "#363a4f" ];
|
|
cherryPickedCommitBgColor = [ "#494d64" ];
|
|
cherryPickedCommitFgColor = [ "#f4dbd6" ];
|
|
unstagedChangesColor = [ "#ed8796" ];
|
|
defaultFgColor = [ "#cad3f5" ];
|
|
searchingActiveBorderColor = [ "#eed49f" ];
|
|
};
|
|
};
|
|
};
|
|
}
|