68 lines
1.5 KiB
Nix
68 lines
1.5 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
inherit
|
|
(lib)
|
|
mkEnableOption
|
|
mkIf
|
|
;
|
|
|
|
cfg = config.my.home.git;
|
|
in {
|
|
options.my.home.git.enable = (mkEnableOption "Git configuration") // {default = true;};
|
|
|
|
config = mkIf cfg.enable {
|
|
programs.git = {
|
|
enable = true;
|
|
|
|
delta = {
|
|
enable = true;
|
|
options = {
|
|
syntax-theme = "Solarized (light)";
|
|
};
|
|
};
|
|
lfs.enable = true;
|
|
|
|
userEmail = "antoine@alarsyo.net";
|
|
userName = "Antoine Martin";
|
|
|
|
extraConfig = {
|
|
commit = {verbose = true;};
|
|
core = {editor = "vim";};
|
|
init = {defaultBranch = "main";};
|
|
pull = {rebase = true;};
|
|
rerere = {enabled = true;};
|
|
};
|
|
|
|
aliases = {
|
|
push-wip = "push -o ci.skip";
|
|
push-merge = "push -o merge_request.create -o merge_request.merge_when_pipeline_succeeds -o merge_request.remove_source_branch";
|
|
push-mr = "push -o merge_request.create -o merge_request.remove_source_branch";
|
|
};
|
|
|
|
includes = [
|
|
{
|
|
condition = "gitdir:~/work/lrde/";
|
|
contents = {user = {email = "amartin@lrde.epita.fr";};};
|
|
}
|
|
{
|
|
condition = "gitdir:~/work/prologin/";
|
|
contents = {user = {email = "antoine.martin@prologin.org";};};
|
|
}
|
|
{
|
|
condition = "gitdir:~/work/epita/";
|
|
contents = {user = {email = "antoine4.martin@epita.fr";};};
|
|
}
|
|
];
|
|
|
|
ignores = [
|
|
"/.direnv/"
|
|
"/.envrc"
|
|
];
|
|
};
|
|
};
|
|
}
|