infrastructure/nixos/common/hm-modules/git.nix
Vivian 0260a1cec6
All checks were successful
Lint / lint (push) Successful in 2s
Plex Update / update (push) Successful in 9s
invert meger strategy
2023-06-27 11:23:25 +02:00

32 lines
799 B
Nix

{ config, pkgs, lib, ... }:
with lib;
let cfg = config.programs.v.git;
in {
options.programs.v.git = { enable = mkEnableOption "git"; };
config = mkIf cfg.enable {
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userName = "Victor";
userEmail = "victor@xirion.net";
lfs.enable = true;
extraConfig = {
push.autoSetupRemote = true;
init.defaultBranch = "main";
# Git merge driver that always grabs upstream changes
# Useful for e.g. lock files
merge.ours = {
name = "Overwrite Upstream Changes";
driver = "cp -f '%A' '%B'";
};
};
difftastic.enable = true;
};
home.file.".config/git/attributes".text = ''
flake.lock merge=ours
'';
};
}