67 lines
1.4 KiB
Nix
67 lines
1.4 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
let
|
|
gitConfig = {
|
|
core = {
|
|
editor = "nvim";
|
|
pager = "diff-so-fancy | less --tabs=4 -RFX";
|
|
};
|
|
init.defaultBranch = "main";
|
|
merge.conflictstyle = "diff3";
|
|
merge.tool = "nvim";
|
|
mergetool.nvim = {
|
|
cmd = "nvim -d -c \"wincmd l\" -c \"norm ]c\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"";
|
|
prompt = false;
|
|
keepBackup = false;
|
|
};
|
|
diff.tool = "nvim";
|
|
difftool.nvim = {
|
|
cmd = "nvim -d \"$LOCAL\" \"$REMOTE\"";
|
|
prompt = false;
|
|
};
|
|
url = {
|
|
"git@github.com:" = {
|
|
insteadOf = "https://github.com/";
|
|
};
|
|
};
|
|
fetch.prune = true;
|
|
pull = {
|
|
rebase = true;
|
|
};
|
|
};
|
|
myAliases = {
|
|
ci = "commit";
|
|
co = "checkout";
|
|
main = "checkout main";
|
|
master = "checkout master";
|
|
};
|
|
myIgnores = [
|
|
"*~"
|
|
".DS_Store"
|
|
"*.bloop"
|
|
".direnv/"
|
|
".idea/"
|
|
".mypy_cache"
|
|
"*.metals"
|
|
"*.metals.sbt"
|
|
"*metals.sbt"
|
|
"*.direnv"
|
|
"*.envrc" # there is lorri, nix-direnv & simple direnv; let people decide
|
|
"*hie.yaml" # ghcide files
|
|
"*.mill-version" # used by metals
|
|
"*.idea"
|
|
"*.vscode"
|
|
"*.python-version"
|
|
"result"
|
|
];
|
|
in
|
|
{
|
|
programs.git = {
|
|
enable = true;
|
|
userEmail = "code@softinio.com";
|
|
userName = "Salar Rahmanian";
|
|
aliases = myAliases;
|
|
ignores = myIgnores;
|
|
extraConfig = gitConfig;
|
|
};
|
|
}
|