add lock merge strategy

This commit is contained in:
Vivian 2023-06-27 11:19:54 +02:00
parent 6c5ad1eabc
commit 3d3a933465
5 changed files with 73 additions and 52 deletions

View file

@ -41,27 +41,6 @@ in {
direnv = true;
};
programs.exa = {
enable = true;
enableAliases = true;
};
programs.bat.enable = true;
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userName = "Victor";
userEmail = "victor@xirion.net";
lfs.enable = true;
extraConfig = {
push.autoSetupRemote = true;
init.defaultBranch = "main";
};
difftastic.enable = true;
};
programs.firefox.enable = true;
programs.chromium = {

View file

@ -1 +1,3 @@
{ ... }: { imports = [ ./catppuccin.nix ./nvim.nix ./riff.nix ./vscode.nix ]; }
{ ... }: {
imports = [ ./catppuccin.nix ./nvim.nix ./riff.nix ./vscode.nix ./git.nix ];
}

View file

@ -0,0 +1,31 @@
{ 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.theirs = {
name = "Keep Upstream Changes";
driver = "cp -f '%B' '%A'";
};
};
difftastic.enable = true;
};
home.file.".config/git/attributes".text = ''
flake.lock merge=theirs
'';
};
}

View file

@ -30,6 +30,7 @@
home.stateVersion = "23.05";
programs.v.nvim.enable = true;
programs.v.git.enable = true;
programs.tmux = {
enable = true;
@ -37,5 +38,13 @@
terminal = "screen-256color";
clock24 = true;
};
programs.exa = {
enable = true;
enableAliases = true;
};
programs.bat.enable = true;
};
}